BloodyNap
24.02.2005, 17:21
so ... wieder einmal ein problem ;)
ich sende vom computer über den seriellen port an den AVR folgendes:
X0406 (Beispiel)
die 04 soll nun als zahl eingelesen werden bzw die 06 auch...
hab mir gedacht das ich erstmal 5 zeichen von dem udr lese und in einem byte array (varCmd) speicher...
funtzt auch
aber wenn ich nun die 04 (varCmd(2) und varCmd(3)) zusammen in einem integer speichern möcht geht das irgendwie net
dabei muss ich ja nur die 1. ziffer (varCmd(2)) mal 10 nehmen und die 2. ziffer (varCmd(3)) addieren
in diesem Fall: 0*10 + 4
hab das so gelöst:
...
Dim Calctmp1 As Integer 'temp. vars zum rechnen
Dim Calctmp2 As Integer
Dim varCmd(5) As Byte
....
Calctmp1 = varCmd(2) * 10
Calctmp2 = Calctmp1 + varCmd(3)
...
dann müsste in dem beispeil Calctmp2 ja den inhalt "4" haben oder?
hats aber net...
ich sende vom computer über den seriellen port an den AVR folgendes:
X0406 (Beispiel)
die 04 soll nun als zahl eingelesen werden bzw die 06 auch...
hab mir gedacht das ich erstmal 5 zeichen von dem udr lese und in einem byte array (varCmd) speicher...
funtzt auch
aber wenn ich nun die 04 (varCmd(2) und varCmd(3)) zusammen in einem integer speichern möcht geht das irgendwie net
dabei muss ich ja nur die 1. ziffer (varCmd(2)) mal 10 nehmen und die 2. ziffer (varCmd(3)) addieren
in diesem Fall: 0*10 + 4
hab das so gelöst:
...
Dim Calctmp1 As Integer 'temp. vars zum rechnen
Dim Calctmp2 As Integer
Dim varCmd(5) As Byte
....
Calctmp1 = varCmd(2) * 10
Calctmp2 = Calctmp1 + varCmd(3)
...
dann müsste in dem beispeil Calctmp2 ja den inhalt "4" haben oder?
hats aber net...