Hallo Leute, Ich bin grad dabei mir die Grundlagen der I2C Kommunikation anzueignen. Nun habe ich die Kommunikation bei der Addresse 0x39 untersucht. Im Datenbyte ist mir nun aufgefallen, das beim senden von 128 nach den neunten Datenbit die SDA Leitung (gelb) kurz auf High gezogen wird und dann wieder auf Low. Anschließend wird ganz normal die Stop-Bedinnung gesendet. Dies passiert aber nur beim Wert 128. Kann mir jemand erklären warum dies passiert? LG Timo
:
Bearbeitet durch User
Servus Timo, Timo G. schrieb: > Im > Datenbyte ist mir nun aufgefallen, das beim senden von 128 nach den > neunten Datenbit die SDA Leitung (gelb) kurz auf High gezogen wird und > dann wieder auf Low. wer "zieht" denn die Datenleitung auf high? Der Pullup-Widerstand! Master oder Slave ziehen das Signal nur auf 0, ein High-Pegel bedeutet also, daß weder Master, noch Slave auf 0 zieht. Ich vermute, der Slave sendet Daten und lässt danach den Bus los (Pull-Up zieht auf high), danach treibt der Master SDA (= geht auf low), um die Stop-Bedingung zu erzeugen.
Timo G. schrieb: > ... nach den neunten Datenbit die SDA Leitung (gelb) kurz auf High > gezogen wird High bedeutet nur, dass weder Master noch Slave die Leitung gerade auf Low ziehen. > und dann wieder auf Low. Das Low ist fürs Stop notwendig. Was zwischen dem Ack des vorherigen Bytes und dem Stop auf SDA passiert, ist egal; solange SCL auf Low ist, darf sich SDA beliebig ändern. > Dies passiert aber nur beim Wert 128. In diesem Fall könnte es sein, dass das Shift-Register wieder zum ersten Bit zurückspringt.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.