Atmega 328p(16MHz) mit TWI-Hardware UnterstützungAuf was für einem Controller basiert der Arduino?
dabei zieht der Slave SCL runter um den Master zum warten zu zwingen ... in meinem Fall waren aber alle Leitungen auf HIGH und der Master hat gehangen.Clock Stretching!
Genauso hat der Master mit ( I2creceive / I2csend ) auch schon alle Slave gleichzeitig angesprochen, obwohl eine Adresse übergeben wurde, da ist einer der Bascom-Befehle mit Adresse und Daten durcheinander gekommen ...
denke mal das die Befehle ( I2creceive / I2csend ) nicht sauber umgesetzt worden sind, z.B. fehlende Timeouts beim warten auf (TWINT)...
Das verwenden der TWI-Register aus Bascom ist jetzt auch nicht besonders schwer, deswegen werde ich das selber umsetzen, dann weiß ich wenigstens was da abläuft und kann auf Störungen reagieren ...
wie will denn der Master da was erzwingen ... SCL ist LOW, da muss der Master warten, bis der Slave diese wieder frei gibt, erst dann kann der Master ein neues Byte übertragen ...danach zwingt der Master wegen SMBus Logik ein erneutes Senden und hängt sich dabei weg
Die von mir über die Register programmierten TWI-Slave habe ich mit einem IOWarrior (I2C 50 / 100 / 400 ) zuvor getestet, da liefen diese ohne Probleme ...
Lesezeichen