I2C lesen schlägt fehl. CLK und SDA weiterhin auf low

Gast #3619776
Lesenswert?
• ▲
▼
Hey Leute bin jetzt schon seit mehreren Wochen am suchen, kann den 
Fehler im Programmcode aber nicht finden.

Nachdem ich die erste Nachricht des Slaves empfangen habe, weigert sich 
der PIC die Clock-und Datenleitung wieder auf high zu setzen.

Folgendes habe ich schon probiert.
Ich habe versucht mehr Daten abzufragen, da es ja möglich sein könnte, 
dass der Slave die Leitungen auf Low zieht, da er noch etwas hat. Leider 
ohne Erfolg. Die Clock-Leitung hört komischerweise nach einem weiteren 
Taktzyklus auf und läuft nicht weiter, Daten wurden keine mehr 
empfangen.

Vlt. kann mir jemand von euch helfen....
Angehängte Dateien:
Gast #3619804
Lesenswert?
• ▲
▼
Hi Schuschuh.

Ich kenne zwar den PIC nicht im detail, aber beide Leitungen auf LOW 
können auch einen "BUS Error" bedueten. (Oder der Slave kann die Leitung 
zieht, wenn er noch was zu verarbeiten hat. Das ist aber dann temporär). 
Ich hatte so einen Fall mal beim AVR, da hatte ich versehentlich den 
Status "Bus Error" nicht abgefangen. Das hat dann manchmal zu dem von 
dir geschildertem Effekt geführt.
Abhilfe: Im Buss-Fehlerfall entsprechendes Freigabe Bit setzen.
Zu Busfehlern kommt es, wenn z.B. Start - Stop hintereinander gesendet 
werden, ein Bit fehlt, usw...

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.