Hallo
Schau dir das Beispiel mal an. Wenn du fragen hast frage nochmal, habe im Moment aber wenig Zeit.
Dim S As Word At &H60
Dim B(3) As Byte At &H60 Overlay
Das passt ja schon mal nicht so ganz. Word hat nur 2 Bytes.
Code:
$regfile = "2313def.dat"
$crystal = 3686400
$baud = 9600
Dim S As Integer
Dim Temp As Byte
Dim B(3) As Byte
Dim N As Byte
On Urxc Onrxd
Enable Urxc
Enable Interrupts
Main:
If N = 3 Then 'wenn 3 zeichen empfangen wurden, auswerten
S = B(1) * 100 '1. Zeichen hat eine 100 Wertigkeit
Temp = B(2) * 10 '2. Zahl hat eine 10 Wertigkeit
S = S + Temp '100er und 10er addieren
S = S + B(3) 'und noch die Einer dazu, fertig
Print S
N = 0
End If
Goto Main
Onrxd:
N = N + 1
B(n) = Udr - 48 'aus ASC II Code den Wert gewinnen, 0 = 48, 1 = 49 usw 9 = 57
Return
So sollte es gehen, wenn du die Zeichen von dem anderen uC per Print Befehl ausgibst.
MFG
Dieter
Lesezeichen