Gast
#4686415
Hallo liebes Forum, ich versuche gerade auf einem ATXMega128-A4U einen TWI Master in Assembler zum Laufen zu bringen. Ich komme allerdings mit dem "Automatisierungsgrad" nicht zurecht, den die TWI Hardware der ATX Serie im Vergleich zur AT Serie inzwischen an den Tag legt. Ich habe mir die ATX AN1308 durchgelesen und natürlich das enthaltene Flowchart zur Programmierung genutzt. Aus der AN stammt auch der angehängte Screenshot. Mein Problem ist der markierte Zweig. Was muss ich tun, nachdem ich das Slave-Ack für die Lese-Adresse vom Slave bekommen (und geprüft) habe? Der AN nach muss ich dann garnichts mehr tun und nur auf das eingehende Byte warten. Dem ATX Manual nach müsste ich aber zumindest die Interruptflags löschen (TWI_STATUS schreiben). Davon steht dann aber wieder in der AN nichts. Muss ich die Interrupt Flags in diesem Fall doch manuell löschen? Muss ich Nullen aus dem Datenregister takten, damit die Clock weiterläuft? Versucht habe ich beides schon ohne Erfolg. Bevor ich jetzt nach Logikfehlern in meinem Code suche, was müsste ich prinzipiell an dieser Stelle tun? Für mein Verständnis des TWI Buses (stammt von der AT Serie) fehlt da irgendeine Info....oder ich übersehe etwas. :)
