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
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.
Gast
#5055176
Okay Dankeschön:)
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.
