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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren