Bascom Uart nur Müll

Gast #942648
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
Gast
ja hab ich, dass funktioniert auch soweit doch das Problem ist das er 
immer automatisch in das Label "Programmierung" geht ohne das die If 
Bedingung in der Hauptschleife erfüllt wird. Woran kann das liegen?
Gast
Die Zeile: "If S = "Prog" Then Goto Programmierung"
ist nicht gut. Das hinterläßt Trümmer auf dem Stack.

Geh mal mit "Exit Do" aus der Schleife und schreibe die Interruptroutine
ganz unten hin.
also so: "IF S= "Prog" then exit do"

MfG Paul

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.