Hallo,
ich habe ein Problem mit Bascom, wenn ich mein Atmega8 am Uart habe
empfange ich nur Müll auf meinem Terminal(Das Terminal ist richtig
eingestellt). Hier mein Code vielleicht findet ihr den Fehler ich bin
ratlos.
1 | $regfile = "m8def.dat"
|
2 | $crystal = 3579545
|
3 | $baud = 4800
|
4 | Dim S As String * 17
|
5 | Dim B As String * 17
|
6 | Dim Zs0 As String * 5
|
7 | Dim Zs1 As String * 5
|
8 | Dim Zs2 As String * 5
|
9 | Dim Zs3 As String * 5
|
10 | Dim Zs4 As String * 5
|
11 | Dim Snm0 As String * 5
|
12 | Dim Anm0 As String * 5
|
13 | Dim Sa0 As String * 5
|
14 | Dim Aoa0 As String * 5
|
15 | On Urxc Onrxd
|
16 | Enable Urxc
|
17 | Enable Interrupts
|
18 | Main:
|
19 | Do
|
20 | If S = "Prog" Then Goto Programmierung
|
21 | Loop
|
22 | End
|
23 |
|
24 | Onrxd:
|
25 | S = S + Chr(udr)
|
26 | Return
|
27 |
|
28 | Programmierung:
|
29 | S = ""
|
30 | Print "test ok"
|
31 | Do
|
32 | If Len(s) > 17 Then S = ""
|
33 | If Len(s) > 13 Then
|
34 | B = S
|
35 | S = ""
|
36 | Zs0 = Mid(b , 1 , 2 )
|
37 | Zs1 = Mid(b , 4 , 4 )
|
38 | Zs2 = Mid(b , 9 , 2 )
|
39 | Zs3 = Mid(b , 12 , 1 )
|
40 | Zs4 = Mid(b , 14 , 1 )
|
41 | Select Case Zs0
|
42 | Case "E0" : Snm0 = Zs1
|
43 | Anm0 = Zs2
|
44 | Sa0 = Zs3
|
45 | If Zs3 = "2" Then Aoa0 = Zs4 Else Aoa0 = "0"
|
46 | Print "Eingangsnummer:" ; Zs0
|
47 | Print "Seriennummer:" ; Zs1
|
48 | Print "Ausgangsnummer:" ; Zs2
|
49 | Print "Schatart:" ; Zs3
|
50 | Zs0 = ""
|
51 | Zs1 = ""
|
52 | Zs2 = ""
|
53 | Zs3 = ""
|
54 | Zs4 = ""
|
55 | B = ""
|
56 | End Select
|
57 | End If
|
58 | Loop Until S = "Stop_3305"
|
59 | S = ""
|
60 | Goto Main
|