Umwandlung zur seriellen Übertragung
Hallo,
ich habe einen Wert z.B. 40,37.
Um den Wert seriell übertragen zu können muss ich ihn in das Format Byte bringen.
Da der Zehnerwert immer <100 ist, ist das kein Problem:
dim wert as integer
wert = "40,37"
dim zehner as byte
zehner = wert
Übertragen wird jetzt die 40.
Für die Nachkommastelle hatte ich vorgeshen:
dim nachkomma_temp as integer
dim nachkomma as byte
nachkomma_temp = wert - zehner ' macht 0,37
nachkomma_temp = nachkomma_temp * 100 'macht 37,0
nachkomma = nachkomma_temp
Merkwürdigerweise kommt nun aber bei allen Werten > 26 kein richtiger Wert mehr an.
Offensichtlich hängt das Programm beim Umwandeln eine 0 an wodurch ich den Wert 260 bekomme was bei Byte natürlcih nicht geht.
Hat jemand eine andere Lösung?
Re: Umwandlung zur seriellen Übertragung
[quote="elkokiller"
dim wert as integer
wert = "40,37"
[/quote]
40.37 klingt für mich nicht nach integer.
Die serielle Übertragung sieht Werte als Text vor, da z.B. ein Wert 13 als CR erkannt wird.
Ich behelfe mir immer so, wenn die Werte immer unter 127 sind, einfach das Bit 7 zu setzen und am PC wieder zu entfernen. Oder halt gleich "Klartext" senden und den PC die Arbeit machen lassen.