18.08.2015, 17:02
an die arduino Fraktion:
da ich bei der Suche nach einer TWI Karte war, habe ich dies gefunden:
Arduino sucht Anschluss PCF8574 I²C-Bus Remote 8-Bit I/O Expander
und mit Code natürlich. Alles Ok. Der Code wird auch sehr wahrscheinlich laufen, aber richtig ist er nicht!
[code]
Wire.beginTransmission(I2C_ADDR);
Wire.write(I2C_ADDR & 0xFE); // Alle Ports als Ausgang
Wire.write(0xFF); // Alle Pins HIGH
Wire.endTransmission(true);
[/code]
'beginTransmission' wird nicht auf Erfolg geprüft, wenn der Baustein nicht da oder bereit ist, sollte keine Kommunikation auf den Bus gesendet werden!
Es wird hier kein Start, ACK bzw NACK ausgewertet!!!
In der Doku Link
gibt es gar kein Return Value!?! Was passiert denn, wenn der Baustein ein NACK sendet?
Moment, habs gefunden, erst mit 'endTransmission' Link wird gesendet und es können Fehler erkannt werden. Sorry, wusste ich nicht mehr.
Gut, wird aber im Beispiel auch NICHT gemacht. :s
Beim 'requestFrom' READ habe ich keine Fehlerbehandlung gefunden, was für Möglichkeiten hat der Programmierer hier? Da hätte ich wenigstens die gleichen erwartet, wie bei der Funktion 'endTransmission'. Die Funktion kommt zwar später, aber die Kommunikation startet doch mit dem Befehl oder vertue ich mich.
selbst bei dem eigenen Beispiel bei der Doku, wird auf keine Fehlerbehandlung eingegangen!
LASST uns einfach den Streit vergessen.
Wenn sich jemand dafür entscheidet, würde ich mit Rat und Tat dabei sein. :cool:
da ich bei der Suche nach einer TWI Karte war, habe ich dies gefunden:
Arduino sucht Anschluss PCF8574 I²C-Bus Remote 8-Bit I/O Expander
und mit Code natürlich. Alles Ok. Der Code wird auch sehr wahrscheinlich laufen, aber richtig ist er nicht!
[code]
Wire.beginTransmission(I2C_ADDR);
Wire.write(I2C_ADDR & 0xFE); // Alle Ports als Ausgang
Wire.write(0xFF); // Alle Pins HIGH
Wire.endTransmission(true);
[/code]
'beginTransmission' wird nicht auf Erfolg geprüft, wenn der Baustein nicht da oder bereit ist, sollte keine Kommunikation auf den Bus gesendet werden!
Es wird hier kein Start, ACK bzw NACK ausgewertet!!!
In der Doku Link
gibt es gar kein Return Value!?! Was passiert denn, wenn der Baustein ein NACK sendet?
Moment, habs gefunden, erst mit 'endTransmission' Link wird gesendet und es können Fehler erkannt werden. Sorry, wusste ich nicht mehr.
Gut, wird aber im Beispiel auch NICHT gemacht. :s
Beim 'requestFrom' READ habe ich keine Fehlerbehandlung gefunden, was für Möglichkeiten hat der Programmierer hier? Da hätte ich wenigstens die gleichen erwartet, wie bei der Funktion 'endTransmission'. Die Funktion kommt zwar später, aber die Kommunikation startet doch mit dem Befehl oder vertue ich mich.
selbst bei dem eigenen Beispiel bei der Doku, wird auf keine Fehlerbehandlung eingegangen!
LASST uns einfach den Streit vergessen.
Wenn sich jemand dafür entscheidet, würde ich mit Rat und Tat dabei sein. :cool: