Hallo, ich hätte 2 noch etwas dazu zu sagen, da ich in letzter Zeit auch ein Lab View Projekt hatte.
1. Ist CR und LF in Lab View deaktiviert könnt sonst Ärger geben wenn eins der Bytes 10 oder 13 ist.
2. Wieso konvertierst du nicht einfach den Wert zu einer 4 stelligen Hex Zahl und fügst ein Trennzeichen wie / oder: ein, dann ist die Syncronisierung kein Problem. Ich hab das ganze in Assembler und LAB View 7 am Laufen, hier mal die Umrechnung, müsste sich ja in C integrieren lassen.

;-------------------------------------------------------------------
;Schreibt den Inhalt des Registerpaars X als 5 Dezimalstellen an RS232
;VORSICHT! durch dual2BCD wird das Registerpaar X verändert
;-------------------------------------------------------------------
;Mit Steuerzeichen
;-----------------------
;
schreibe_X_5_MS:


ldi temp1, '/'
rcall serout ; Unterprogramm aufrufen

schreibe_X_5_OS:

rcall dual2BCD ;Subroutine dual2BCD aufrufen

ldi Temp, 48 ;48 ins Temp laden (ASCII Code)

mov temp1,Erg2
add temp1,Temp ;48 addieren (ASCII Code)
rcall serout ;10.000er ausgeben

mov temp1,Erg1
swap temp1
andi temp1, 0b00001111
add temp1,Temp ;48 addieren (ASCII Code)
rcall serout ;1.000er ausgeben

mov temp1,Erg1
andi temp1, 0b00001111
add temp1,Temp ;48 addieren (ASCII Code)
rcall serout ;100er ausgeben

mov temp1,Erg0
swap temp1
andi temp1, 0b00001111
add temp1,Temp ;48 addieren (ASCII Code)
rcall serout ;10er ausgeben

mov temp1,Erg0
andi temp1, 0b00001111
add temp1,Temp ;48 addieren (ASCII Code)
rcall serout ;1er ausgeben
ret ;Rücksprung