Christian St. schrieb:
> Hallo,
>
> ich lese über RS232 einen String ein *1200, dann wandle ich in int um
>
1 | ext_offset=((rx_buffer[1]-48)*1000) + ((rx_buffer[2]-48)*100)
|
2 | > + ((rx_buffer[3]-48)*10) + ((rx_buffer[4]-48)*1) ; // ASCII in
|
3 | > Int wandeln
|
>
> Meine Variable hat dann aber nur den Wert 1152, also 48 zu wenig,
> wo ist der Denkfehler ?
Nirgends.
Du hättest auch atoi nehmen können, aber das ist ein anderes Thema.
Ist sichergestellt, dass du auch tatsächlich den String "*1200"
empfängst? Hast du das kontrolliert? Die Antwort "Ja, weil ich den
Sendecode kenne" lasse ich dabei nicht gelten. Hast du dir den String,
so wie er empfangen wurde, ausgeben lassen?
Woher weißt du, dass die Berechnung 1152 ergibt?