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

Gast #3619776
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
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

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.