Forum: Mikrocontroller und Digitale Elektronik I2C Leitungen bleiben am Ende des Zugriffs auf Low, keine Verbindung


von Sepp (Gast)


Lesenswert?

Hey ihr,

hab n Problem mit meinem Atmega32.
Bei der I2C Verbindung zu nem PCF8574 endet i2c_rep_start von Peter 
Fleury immer mit 0V auf SDA und SCL, ob der Expander angeschlossen ist 
oder nicht.
Länge der Leitungen max 10cm, hab mit dem Bustakt gespielt, alles nix 
geholfen.

Die Funktion liefert 1 zurück, also fail to access, die Bits werden 
soweit ich das sehe auch richtig gesetzt. (JTAG)

Wenn ich den Zyklus in schleife aufrufe zucken auch Daten übers Oszi, 
ich kann mir aber net erklären warum er den ursprungszustand nicht 
wieder frei gibt und kein ACK bekommt.

Wäre super wenn mir einer helfen kann!

Gruß
Sepp

von Jobst M. (jobstens-de)


Lesenswert?

Mit angeschlossenem Expander könnte ich ja noch verstehen, wenn SDA 
festgehalten wird und der ATmega deshalb nicht clocken kann.

Das hatte ich mal, als ich fälschlicher Weise auf eine Read-Adresse 
Schreiben wollte. Der Baustein hat schon das erste Datenbit angelegt (L) 
und hält damit den Bus fest.

Aber ganz ohne Baustein dran ...

Ich kenne die Lib nicht, aber wird nur ein Rep-Start geschickt? Dann ist 
ja klar, warum dort L liegt.
Oder Stop vergessen?


Nur Ideen ...


Gruß

Jobst

von Walter S. (avatar)


Lesenswert?

keine Pullups drin?

von Sepp (Gast)


Lesenswert?

Danke Jobst,

ich hatte vergessen ein Stop zu senden, da blockiert er den Bus 
natürlich.
:(
Und das NACK kam, weil ich keinen PCF8574A, sondern einen PCF8574 hab, 
andere Adresse.

Danke, nu läufts!

Gruß
Sepp

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.