hacker
11.01.2006, 19:56
Hi,
mein Problem ist dieser Code hier:
$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
mein Problem ist dieser Code hier:
$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