Forum: Mikrocontroller und Digitale Elektronik I2C hängt sich bei Stop Condition auf


von Christian U. (z0m3ie)


Lesenswert?

Hallo,

Villeicht hat jemand dazu auf die schnelle eine Idee. Ich kenn mich mit 
I2C nicht wahnsinnig aus.

Meinen Masterbetreibe ich mit P. Fleurys Bibliothek funktioniert soweit 
auch alles super mit diversen IC´s (DS1803-XXX, PCF8574, R8564)
Nun muss ich aber eigene I2C Slaves auf Atmega8 basis dranhängen. 
Funktioniert soweit auch alles Super mein Slave antwortet auf die 
Adressanfrage, akzeptiert ein Adressbyte und antwortet auf Lese 
Requests. Der Master empfängt auch alles super wenn ich jetzt aber eine 
Stop condition am master auslöse um den Bus wieder freizugeben hängt 
sich der Bus auf (SCL und SDA auf Low) und reagiert danach nicht mehr 
bis ich den Controller resette. Hat jemand dazu eine Idee ?

von ecslowhand (Gast)


Lesenswert?

Sehr wahrscheinlich reagiert DEIN Slave nicht richtig auf die 
Stoppkondition.

von Christian U. (z0m3ie)


Lesenswert?

Nur wiso hängt sich dann der Master auf selbst wenn der Slave die 
Leitungen runterzieht müsste alles ok sein wenn ich den Slave entferne. 
Dann sind die beiden Leitungen aber immer noch auf logisch NULL.

Wenn ich nur Start,ein byte schreiben,Stop mache läuft alles super.

von ecslowhand (Gast)


Lesenswert?

Das letzte empfangene Byte beim Master solltest Du mit einem NACK 
quittieren.

Im Slave: Statuscode 0xC0 und 0x00(ERRORCONDITION!!!) entsprechen 
bedienen !

von Christian U. (z0m3ie)


Lesenswert?

Vielen dank, das wars :)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.