Archiv verlassen und diese Seite im Standarddesign anzeigen : Wert auf drei Byte's aufteilen
elkokiller
20.01.2009, 20:07
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(028), 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
elkokiller
21.01.2009, 21:26
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!
*Kratz mich*
in Delphi und Bascom ?
Hoherwert = temperatur Div 255
Tieferwert = temperatur Mod 255 = Rest
Sonst greif auf jeden in Bascom schieben rechts und links in Verbindung einander.
Ich müßte mal genauer nachsehen , z.Z. aber keine Zeit
Gento
So ist der Wertebereich von 0 bis 10000. Und wie gehts jetzt weiter?
Da reichen dann also sogar 2 Bytes für die Übertragung aus.
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
elkokiller
21.01.2009, 22:00
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
elkokiller
22.01.2009, 19:20
Sorry,
hatte den Beitrag von Dirk gar nicht gesehen.
Jetzt ist es klar!
Danka an euch beide
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.