>Ich bekomme eine Zahl z.B. 10465 per UART geschickt.
>Also bekomme ich nacheinander die Zeichen
>0x01,0x00,0x04,0x06,0x05.
Eher nicht. Wenn du über das UART eine 10465 geschickt bekommst, ist das
eher
'1', '0', '4', '6', '5'
Also eine Schlange von Zeichen, die in der ASCII-Zeichentabelle einen
bestimmten Platz einnehmen. Die '0' steht z.B. an Stelle 48 (0x30).
in C kann man ganz wunderbar aus ASCII integer machen, indem man die '0'
abzieht:
So wäre dann 10465:
('1'-'0') * 10000 + ('0'-'0')*1000 + ('4'-'0')*100 + ('6'-'0')*10 +
('5'-'0')
Einfacher ist es natürlich, die Zahl gleich beim Empfang zu "bauen":
int x=0;
x = x*10 + UDR;