Hallo mare_crisium. Vielen Dank für die ausführliche Antwort.
Habs nun gefundenZitat von mare_crisium
.
Hm, lag wohl an den Waitroutinen in der Main Loop. Ohne diese klappt es perfekt. Die SCL Frequenz stimmt auch 100khz.Zitat von mare_crisium
Habe gar nicht gewusst, dass Bascom bei Waitms auch keine Timer Interrupts mehr ausführt. Werde mir wohl etwas anderes überlegen müssen.
Jetzt hab ich doch noch eine kurze Frage zum TWI Ablauf. Bisher habe ich es so verstanden:Zitat von mare_crisium
1. Master beginnt und sendet Startsequenz.
2. Slave erkennt die Startsequenz, sendet Ack, löscht TWINT
3. Master erkennt, dass TWINT gelöscht wurde und liest dann aus dem Statusregister den aktuellen Stand aus und reagiert darauf.
--> sendet die Slave ID + setzt das R/W Bit auf Write
4. Slave löscht TWINT, Master erkennt es, liest Status aus und sendet Byte
5. Slave quittiert den Erhalt des Bytes, indem es TWINT löscht und ein Ack sendet
6. Master erkennt dies, liest Statusregister aus und schaut ob die Übertragung ok war.
So in etwa richtig?
Grüße
hdtvfreak
Lesezeichen