Forum: Mikrocontroller und Digitale Elektronik I2C Interrupts


von heinz34 (Gast)


Lesenswert?

Hey

ich arbeite gerade mit I2C über einen Atmega 644 und einen Portexpander 
und verwende die Library von Fleury.

Nun möchte ich jedoch alle Schleifen in meinem Programm vermeiden.

Zum Beispiel die folgende nach der die Startbedingug gesendet wurde.

// send START condition
TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN);

// wait until transmission completed
while(!(TWCR & (1<<TWINT)));

Um diese while Schleifen zu vermeiden soll mit Interrupts gearbeitet 
werden.
Daher meine Frage, gibt es einen Interrupt der ausgelöst wird wenn die 
Startbedingung empfangen wurde bzw. bei der write Funktion nach einem 
ACK?

Danke im Voraus

heinz
von Oliver (Gast)


Lesenswert?

RTFM.

Im Datenblatt ist das im Detail beschrieben, mit Beispielen.

Oliver
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.