PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 3 String Werte in eine Byte-Variable bekommen.....



mull
11.03.2008, 13:37
Also, nachdem die Tastatur jetzt am Mikrocontroller läuft, müsste ich eine eingabe für den X-Vorschub für den Schrittmotor vornehmen.

Das heisst ich muss per Tastatur z.B. 150 (in cm) eingeben.
und dann die eigegebenen 3 Zahlen 1 5 0 in einer Variable wie vorschub_x stehen haben.

Wie mach ich das am besten ?

askazo
11.03.2008, 14:08
1) Du dekodierst Die empfangenen Ascii-Zeichen, so dass Du die einzelnen Zahlen als echten Wert erhälst
2) Du multiplizierst die erste Zahl mit 100 und speicherst sie in Deine Variable
3) Du multiplizierst die zweite Zahl mit 10 und addierst sie zu Deiner Variablen
4) Du addierst die dritte Zahl zu Deiner Variablen.
Fertig.

askazo

mull
11.03.2008, 17:02
Okay, ich hab ja....

Do
B = Getatkbd() ' Abfrage der Tastatur / Byte
If B > 0 Then Print #4 , Chr(b)
Loop Until B = 13
End

womit kann ich den string chr(b) dann in byte umwandeln ?

mull
11.03.2008, 19:56
Ich habs jetzt über eine if anweisung gemacht....

Do
E = Getatkbd()

If E = 48 Then Num1x = 0
If E = 49 Then Num1x = 1
If E = 50 Then Num1x = 2
If E = 51 Then Num1x = 3
If E = 52 Then Num1x = 4
If E = 53 Then Num1x = 5
If E = 54 Then Num1x = 6
If E = 55 Then Num1x = 7
If E = 56 Then Num1x = 8
If E = 57 Then Num1x = 9
If E = 0 Then Loop Else Nop

...das dann dreimal und hinterher addieren und dann klappts........
Grüsse und Gute Nacht ;-)

linux_80
11.03.2008, 22:38
Hallo,

man könnt's natürlich auch einfach machen:


var = VAL( string )

Näheres in der Bascom-Hilfe

mull
13.03.2008, 12:23
Jau danke, genau das hat mir gefehlt....