-
UART sendet nur Mist...
Hi,
mein Problem ist dieser Code hier:
Code:
$regfile = "m8def.dat"
$crystal = 16000000
$baud = 9600
Config Pinb.1 = Output
Config Pinb.2 = Output
Config Pinc.5 = Output
Config Pinc.4 = Output
Config Pinc.3 = Output
Config Pinc.2 = Output
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1
Dim Task As String * 20
Dim Tasklistcounter As Integer
Dim Tasklistanzahl As Integer
Dim Tasklist(2) As String * 20
Dim Datenstring As String * 20
Dim Geschwindigkeit As Integer
Dim Motoraktiv As Bit
Dim Beschleunigen As Bit
Dim Bremsen As Bit
Const Mingeschwindigkeit = 255
Const Maxgeschwindigkeit = 0
Enable Interrupts
Tasklist(1) = "rs232input"
Tasklist(2) = "Motorsteuerung"
Tasklistanzahl = 2
Tasklistcounter = 1
Do
Incr Tasklistcounter
If Tasklistcounter > Tasklistanzahl Then
Tasklistcounter = 1
End If
Task = Tasklist(tasklistcounter)
Gosub Befehlauswertung
Loop
End
Befehlauswertung:
Select Case Task
Case "rs232input" :
Gosub Rs232input
Case "Motorsteuerung" :
Gosub Motorsteuerung
End Select
Return
Sensoren:
Return
Motorsteuerung:
Return
Rs232input:
'Input Datenstring Noecho
Print "Hello!";
Return
Vor:
Portc.5 = 0 'vorwärts rechter Motor
Portc.4 = 1
Portc.3 = 0 'vorwärts linker Motor
Portc.2 = 1
Return
Zurueck:
Portc.5 = 1 'rückwärts rechter Motor
Portc.4 = 0
Portc.3 = 1 'rückwärts linker Motor
Portc.2 = 0
Return
Links:
Portc.3 = 0
Portc.2 = 0
Return
Rechts:
Portc.5 = 0
Portc.4 = 0
Return
Halt:
Portc.5 = 0
Portc.4 = 0
Portc.3 = 0
Portc.2 = 0
Return
Mit ihm empfang ich über die UART nur Mist. Vorneweg: Baudrate ist richtig eingestellt, Fuses auch! Mit einem Testprogramm, was nur immer sendet klappts auch einwandfrei...nur hier nicht. Ich find den Fehler nicht. nach meinem Geschmack ist das alles richtig O:)
Wär nett, wenn ihr mir helfen könnt.
Gruss hacker
-
MoMent: So, wie's ist macht der Kollege eigentlich nur "print "hello"" und sonst nix.
Und dú sagst, das "hello" kann man nicht lesen ?
-
Jo, der sollte eigentlich immer hintereinander "hello!" bringen. Man kann es nicht entziffern...geschwige denn erraten..man erkennt einfach nix ^^..aber es kommt schon mehrmals...bzw. die ganze Zeit.
-
Füg' sicherheitshalber vorne
$HWSTACK = 32
$SWSTACK = 64 oder sowas ein.
Vielleicht geht ihm der Stack aus
Weil sonst könnt ja nur Baudrate, Fuse...... blabla falsch sein.
Ja, durch das Semikolon schreibt er alle Hellos in eine Zeile ?
EDIT: Mein Weib ruft mich. Bis Morgen !
-
Ach PicNick...du hast mal wieder Recht.. =D> Dank dir!!! Jetzt funktioniert alles bestens...
Gruss hacker