SAM3X8E TWI Interrupts NACK

OP #5983563
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

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.