-
-
Erfahrener Benutzer
Robotik Einstein
Eine Anmerkung hätte ich noch,
normalerweise wird beim lesen eines Bytes zuerst das TWDR ausgelesen, und dann erst TWCR gesetzt, sonst kanns vorkommen das sich das nächste Byte schon wieder über den Bus reinschiebt, und die Daten nicht mehr aktuell sind in TWDR.
Denn normalerweise kommt das gesendete Stop-Bit auch wieder bei TWDR an und schiebt die Daten ein Bit weiter !
Und es wird aus jeder funktion bei einem Fehler mit return einfach zurückgesprungen, ohne den Bus wieder freizugeben, das kann auch zu komischen Fehlern führen !
Wenn die Startsequenz zB. keinen Erfolg hatte, muss man trotzdem den Bus freigeben, denn sonst kann ein anderer Master auch nicht weitermachen.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen