Der Text ist für mich etwas widersprüchlich. Ich versuche mal zu interpretieren.
Es wird gesagt, der SRF02 reagiert nicht auf den I2C, solange er misst. Das klingt erstmal einfach. Dann wird aber gesagt, man solle den Chip, am besten ein Register mit bekanntem Wert auslesen, und solange der 0xFF sei (der Bus wenn er nicht getrieben wird) ist der Chip noch nicht fertig.
Wenn der SRF nicht auf I2C Kommandos reagiert, solange er misst, kann man aber eigentlich auch kein Register auslesen. Er liefert dann nämlich kein ACK auf das Adressbyte. Ich kann nur vermuten, daß der Schreiber des Textes davon ausgeht, daß der Anwender einfach blind den I2C Bus liest und keine Fehlerauswertung macht. Ob aber die jeweils verwendete I2C Library oder HW das 0xFF des Buses liefert, oder der Wert bei einem NACK undefiniert ist, kann ich nicht sagen.
Ich würde es mal so probieren (wie es auch in Anleitungen zu anderen Bausteinen beschrieben wird): solange bis der SRF mit ACK antwortet die Adresse mit Write senden. Reagiert er, kann man dann auch Register auslesen.
MfG Klebwax
Lesezeichen