-
-
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
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen