Warum nimmst Du nicht
Wert = (Temperatur + 30) x 100
das sind im Hexbereich 00 00 00 bis 00 27 10 und es würden sogar 2 Byte reichen.
Gento
Hallo,
ich messe eine Temperatur und möchte diese seriell in drei Bytes übertragen.
Da die Temperatur im Messbereich von -30 bis +70 liegt, sollte dies eigentlich problemlos machbar sein.
Ein Wert von -28,05 soll z.B. Byte1(001), Byte2(02, Byte3(050) aufgeteilt werden wobei ich im ersten Byte nur zwischen + und - unterscheiden muss.
Kann mir jemand sagen wie ich den Zahlenwert aufteilen kann?
Oder hat vielleicht jemand eine Idee wie es anders zu machen ist?
Warum nimmst Du nicht
Wert = (Temperatur + 30) x 100
das sind im Hexbereich 00 00 00 bis 00 27 10 und es würden sogar 2 Byte reichen.
Gento
Die Berechnung ist o.k.
So komme ich aus dem negativen Bereich raus.
So ist der Wertebereich von 0 bis 10000.
Und wie gehts jetzt weiter?
Ich kann als Byte doch nur Werte zwischen 0 und 255 übertragen!
Da reichen dann also sogar 2 Bytes für die Übertragung aus.So ist der Wertebereich von 0 bis 10000. Und wie gehts jetzt weiter?
Fürs Übertragen gibt es verschiedene Möglichkeiten, z.B.:
Dim Db1 As Byte
Dim Db2 As Byte
Dim Messwert As Integer At Db1 Overlay
Messwert = 10000
'Sende Db1
'Sende Db2
Gruß Dirk
das verstehe ich noch immer nicht,
meld dich einfach noch mal wenn du mehr Zeit hast
Zeig doch mal den Code vom Einlesen :
Da die Temperatur im Messbereich von -30 bis +70 liegt, sollte dies eigentlich problemlos machbar sein.
In was für Variablen Du die Temperatur Werte Speicherst.
Gento
Sorry,
hatte den Beitrag von Dirk gar nicht gesehen.
Jetzt ist es klar!
Danka an euch beide
Lesezeichen