Problem bei Atmega 32 programiereung

Gast #1760932
Lesenswert?

Hallo alle zusammen.

Ich arbeite gerade an einem Roboter, der per Bluetooth gesteuert,
und eine Linie nachfahren kann.

Es gibt zwei modi:

1. Linie folgen
2. PDA Controll

Mit meinem PDA kann ich den Roboter Steuern und auf Linie folgen 
umschaltenn.
Das Steuern mit PDA funktioniert 1A aber das Umschalten zwischen 
Liniefolgen und steuern krig ich einfach iht hinn.

Das Programm ist in C geschriebern ich binn zwar kein Profi aber das 
nötigste kann ich.

1
while(Data[0]==81){
2

3

4
while((sl1)||(sr1)){
5

6
if((sl2)||(sr2)){
7
if(sl2){right();while(bit_is_set(PINB,0)){}}
8
if(sr2){left();while(bit_is_set(PINB,2)){} }
9

10
}
11

12

13
if(sl1){right();}
14
if(sr1){left();}
15

16

17
}
18
forwart();
19
}
Diese Schleife sollte solange wiederholt werden bis in der Variable 
Data[0] eine andere Zahl steht.
Data[0] wird von einem UART Interrupt geladen.
Aber aufgrund der Schleifen in der Rutine lässt sich die Rotine nicht 
beenden.

Meine Frage:

Wie könnte man mein Problem am besten Lösen?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren