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?