Hallo,
ich sende über einen Interrupt einen String zu meinem Programm, dadurch
soll eine Anzahl an Kanälen definiert werden, da diese Anzahl der Kanäle
über 9 ist, sende ich 2 Stellen, die ich dann aufaddiere (siehe unten:
Interrupt-Routine:
uart_string ist: "X53Z", bei Z wird die Routine aufgerufen...
1 | channels = 0;
|
2 | int chan1= atoi(&uart_string[1]);
|
3 | int chan2= atoi(&uart_string[2]);
|
4 | channels= chan1*10;//umrechnen der 2 Strings auf eine 2-stellig
|
5 | channels= channels + chan2;
|
--> ich habe nun das Problem, dass für chan2 immer der String 2 mal
kommt, es steht dann also 33 drin
somit wird als Wert für Channel 533 berechnet, es sollte aber 53 sein
Gruß
Dirk