XMEGA I2C Problem beim Stop Signal

Gast #3154097
Lesenswert?
• ▲
▼
Hallo Leute,

ich verwende einen XMEGA256A3U Mikrocontroller von Atmel. An dem 
Mikrocontroller ist ein Schrttmotor per I2C angeschlossen. Es gibt nur 
einen Master am Bus und das ist mein XMEGA256A3U.

Ich schreibe Testdaten in den Slave (siehe Sreenshot). Zuerst erzeuge 
ich den Start-Pulse, anschließend übertrage ich die Adresse vom Slave 
und das Bit 0 für schreiben. Dies wird auch alles richtig übertragen und 
ich erhalte ein ACK vom Slave zurück. Anschließend übertrage ich die 
Testdaten 0xAA, 0xFF und 0xDD. Alle Testdaten werden richtig übertragen 
und werden vom Slave mit einem ACK quitiert.

Doch nun zu meinem Problem. Nach erfolgreicher Übertragung sende ich die 
Stop Bedingung doch wie man im zweiten Screenshot sehen kann ist dieser 
nur sehr kurz und wird daher nicht erkannt.

Der XMEGA besitzt das CTRLC (Control Register C) Register. Ich habe in 
Bit 0 und 1 0b11 reingeschrieben. Durch diesen Befehl soll der 
XMEGA256A3U automatisch einen Stop Bedingung erzeugen. Ich habe extern 
zwei Pullups am SDA und SCL angeschlossen.

Es sind auch keine Fehler bei der Datenübertragung aufgetreten ich habe 
das RXACK, ARBLOST und BUSERR Flag geprüft.
Angehängte Dateien:

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.