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 ?
Gast
#513999
Sehr wahrscheinlich reagiert DEIN Slave nicht richtig auf die Stoppkondition.
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.
Gast
#514009
Das letzte empfangene Byte beim Master solltest Du mit einem NACK quittieren. Im Slave: Statuscode 0xC0 und 0x00(ERRORCONDITION!!!) entsprechen bedienen !
Vielen dank, das wars :)
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.