Gast
#2303829
Hi, mir ist die korrekte Reaktion auf ggf. auftretende Fehler in der I2C-Kommunikation noch nicht recht klar und auch die Atmel-Doku hilft nicht recht weiter. Background ist hier eine einfache I2C-Single Master App mit Transmitter+Receivermodus beim Ansprechen eines HYT939 Sensors. I/O rein im Interruptbetrieb. Für die Reaktion auf Fehler wie NACK nach SLA+W/R oder Daten-Transmission, illegalem Start/Stop oder irrelevanter Status-Info fand ich bisher zwei verschiedene Möglichkeiten: Entweder mit (1) TWCR= (1<<TWINT)|(1<<TWEN)|(1<<TWSTO) oder z.B. lt. AVR315 Doku mit (2) TWCR = (1<<TWEN)|(0<<TWIE)|(0<<TWINT)|0<<TWEA)|(0<<TWSTA)|(0<<TWSTO)|(0<<TWWC) Warum mal mit, mal ohne TWI-STOP? Warum TWINT mal 1, mal 0? Soll das Flag etwa rückgesetzt werden? Dann doch bitte nur mit 1 ... ?! Kann hier mal jemand Klarheit reinbringen? Danke. RonS