-
-
Huch, jetzt steh ich aber ganz auf dem Schlauch.
Hab jetzt den obigen Code mit der Statusauswertung getestet. (Habe zusätzlich alle Statusinformationen per UART ausgeben lassen)
Gemäss den Statusbytes funktioniert alles prächtig. Die Kommunikation mit dem Thermometer läuft haargenau nach dem Protokoll ab, genau so, wie es sein muss, die Statusbytes stimmen immer völlig überein.
Nur enthalten die beiden Bytes Twidaten1/2 falsche Informationen... Twidaten1 hat immer den Wert 196 und Twidaten2 hat den Wert 0, obwohl die Kommunikation zum Thermometer funktioniert.
Jetzt kommt natürlich der Verdacht auf, dass das twdr nicht korrekt in die Bascom-Variable übernommen wird... twidaten1/2 sind beide als Byte deklariert...
Zur Erinnerung: die Bascom-Software Routine funktioniert. Da werden alle Werte korrekt übernommen und angezeigt. Gemäss Statusbyte-Auswertung funktioniert auch meine Kommunikation, nur enthalten die beiden Bytes falsche Daten (Twidaten1 und Twidaten2)...
Was kann das sein?
Hier noch die Status Bytes der Kommunikation mit dem Temperatursensor. Zuerst wird der Befehl geschickt, eine Messung zu starten. Danach soll das Thermometer den Wert ausgeben (2 Bytes):
H8 - Start gesendet
H18 - Slaveadresse für schreiben gesendet, Ack empfangen
H28 - Datenbyte gesendet, Ack empfangen (Befehl für Temperaturmessung)
Nun die Temperatur auslesen:
H8 - Start gesendet
H18 - Slaveadresse für Schreiben gesendet, Ack empfangen
H28 - Datenbyte gesendet, Ack empfangen (Befehl zum Temperatur ausgeben)
H10 - Wiederholter Start gesendet (muss so sein)
H40 - Slaveadresse für Lesen gesendet, Ack empfangen
H50 - Datenbyte empfangen, Ack empfangen (Temperaturbyte 1 vom Thermometer, AVR muss Ack ausgeben)
H58 - Datenbyte empfangen, NAck empfangen (Temperaturbyte 2 vom Thermometer, AVR muss NACK ausgeben)
Von daher scheint es ja zu funktionieren... nur enthalten die beiden Temperaturbytes Käse...
What to do?
Gruss
Mario
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen