Forum: Mikrocontroller und Digitale Elektronik SAM3X8E TWI Interrupts NACK


von A. Z. (donvido)


Lesenswert?

Hallo miteinander.

Ich bin mittlerweile ein wenig am verzweifeln.
Ich versuche für den SAM3X8E (Arduino DUE) eine eigene TWI Lib zu 
schreiben, die Interrupts und bei Bedarf DMA nutzt. Hab da leider keine 
Beispiele zu gefunden, auch keine fertigen Libs.

Das Problem sieht folgendermaßen aus:

Über ein Single Byte Write w/o Internal Address sende ich ein 0x00 um 
anhand des ACKs die Belegung der entsprechenden Addresse zu bestimmen.
Ich setze also DADR im TWI_MMR und schreibe 0x00 ins TWI_THR,
danach noch STOP im TWI_CR und TXRDY im TWI_IER. Nun kommt es vor, dass 
die Übertragung erfolgreich abgeschlossen wird (im Oszilloskop 
erkennbar), aber in der ISR das Status Register den Wert 0xF10D hat, 
also NACK.
Ist das ein bekanntes Problem, oder ein beliebter Fehler, der nur 
nirgends beschrieben ist?

Codebeispiel kann ich leider erst heute Abend liefern.

Grüße

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.