-
-
Neuer Benutzer
Öfters hier
Ok, hab das mal durchgesehen. Also ich bin ganz ehrlich, ich durchblick das auch nicht 100%.
Ich denke mir mal es soll so funktionieren:
1. Devicedresse schicken. Normalerweise bekommt die hinten ein WRITE Bit, in diesem Fall würde ich aber vermuten das sie ein READBit bekommt.
2. Dann müßtest du theoretisch die Speicheradresse senden. Das kann wegfallen wenn der Pointer bereits auf 0 steht - wie es meistens gebraucht wird. Statt dessen sendet der LM75 wegen dem vorhergehenden READ Bit die D15-D8. Das Ack-Bit wird nicht LOW, dem System ist also irgendwie klar das es noch weitergeht.
An der Stelle mußt du vermutlich ein STOP senden, um erst mal anzuhalten und das Datenregister auszulesen, danach legst du ein leeres Byte auf den Bus, der LM "füllt" das mit D7-D0 und dasAck Bit wird LOW als Zeichen das der Vorgang gegessen ist.
Ich denke mir mal so das es bei diesem Auslesen günstiger wäre mit den interruptbasierten Hardware TWI zu benutzen,, in zweiter Priorität den Hardware TWI mit Polling und eher notfalls den Software TWI. Bin aber da nicht so der große Ahnungshaber, kenne nur Software TWI und Hardware Polling.
Mich wundert allerdings das es dafür keinen fertigen Code gibt, hast du mal gesucht?
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen