www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem bei Atmega 32 programiereung


Autor: omnikron (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

while(Data[0]==81){


while((sl1)||(sr1)){

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

}


if(sl1){right();}
if(sr1){left();}


}
forwart();
}
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?

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Data[0] wird von einem UART Interrupt geladen.

Ich biete ein volatile (oder zwei). Wer bietet mehr?

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
omnikron schrieb:
> forwart();
leicht WM-geschädigt?
 *SCNR*

Autor: omnikron (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh danke

volatile

das funktioniert jetz klasse
echt vielen Dank

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.