Fehler bei Programmabarbeitung
Hallo,
bei meiner Anwendung tritt ein merkwürdiges Problem auf: Ich lese einen Bild-/Bewegungssensor mit einem Mega8 aus, dabei gibt es 2 Modi: Modus=1 -> Bewegungsdaten über RS232 an PC schicken, Modus=2 -> Bilddaten an PC schicken. Nach dem Flashen des Controllers ist der Modus 1 aktiv und alles läuft fehlerfrei. Auch das Umschalten in den Modus 2 läuft und der Sensor liefert mir Bilder an den PC. Ich kann es mir nach unzähligen Versuchen nicht mehr erklären, aber das erneute Umschalten in den Modus 1 geht nicht. Das Zeichen kommt über die RS232 definitiv an, aber scheinbar wird das Hauptprogramm nicht mehr abgearbeitet oder der Timer liegt lahm!?!
Ich hoffe, jemand kann mir helfen, danke.
Hier ein Ausschnitt aus meinem Code:
Code:
Do
If Modus = 2 Then
Call Get_picture()
Call Send_picture()
Else
Printbin Abspos_x ; Abspos_y ; Squal ; Motion ; Maximumpixel ; 13 ;
End If
Loop
'###############################################
'Timer-Routine zur Abfrage der Sensor-Werte mit etwa 6kHz
Ontimer:
If Modus = 1 Then
Call Read_motion()
End If
Timer1 = 65430
Return
'###############################################
'Interrupt für den Zeichenempfang
Onrts:
Modus = Udr
If Modus = 0 Then
Abspos_x = 0
Abspos_y = 0
Modus = 1
End If
If Modus = 1 Then Toggle Portb.1
If Modus = 2 Then Toggle Portb.0
Set Reset_chip
Waitms 300
Reset Reset_chip
Wait 1
Set Ncs
Return