Alles klar, eigentlich hätte ich auch selbst draufkommen sollen.
Ich benutze ebenfalls Soft-I2C.
Inzwischen konnte ich bereits das EEPROM ansprechen, aber beim DS1631 beiße ich mir noch die Zähne aus. Mein Ansatz:
Laut Datenblatt funktioniert das Auslesen der Temperatur so (Seite 12, Absatz "2-Wire Reads"):
- I2C start
- Control Byte
- Read Temperature Command
- ACK from device
- Repeated start
- Conrol byte with same Slave Adress
- Read ACK (Byte 1)
- Read NACK (Byte 2)
- Stop
Das R/W-Bit im Control-Byte muss 1 sein, damit dem DS1631 eine Leseoperation mitgeteilt wird.
Ist das so richtig?
Lesezeichen