AVR ATmega8A Endlosschleife Wie stoppen ?

#2985042
Lesenswert?
• ▲
▼
Darum nennt sich das auch Endlosschleife. Sie läuft endlos.
Wenn du das nicht willst schreibst du ein neues Programm ohne 
Endlosschleife. Aber dann hast du das Problem, dass nach jedem Durchlauf 
der Controller quasi neu startet.

Normalerweise macht man es auch so dass man eine Endlosschleife hat 
(irgendwo in der main-Funktion) und der Controller wartet auf Events 
(wie Tastendrücke, Timer etc) und reagiert dann darauf. Und dass soll in 
der Regel auch die ganze Zeit gemacht werden, darum nimmt man eine 
Endlosschleife.
1
main(){
2
 char taster;
3
 while(1){
4
  machdies();
5
  machdas();
6
  taster = guckwietastersind();
7
  if(taster == 2)
8
    supertolle_funktion();
9
  Piepeinmal();
10
 }
11
}

Wenn du ein Programm haben willst, was nur einmal durchläuft und dann 
stehen bleibt, dann machst du das auch mit einer Endlosschleife, aber 
einer die Leer ist:
1
main(){
2

3
  machdies();
4
  machdas();
5
  machLEDan();
6
  Piepeinmal();
7
  
8
  while(1); // hier stehen bleiben
9
}
Gast #2985342
Lesenswert?
• ▲
▼
Vielen Dank für die Antworten!
Das Ganze ist mir wirklich sehr peinlich....
Habe den Reset betätigt --> Controller hält an --> lasse den Reset los 
---> Controller startet nun wieder.
Kann ich den Controller im lufenden Betrieb überschreiben, oder 
Flash-Inhalte löschen, oder .... ?

Oder muss ich nun einen neuen Controller kaufen :-(
#2985358
Lesenswert?
• ▲
▼
Nein du musst dir natürlich jedes mal einen neuen kaufen :D

Quatsch mensch. Schau doch mal auf die erste Seite im Datenblatt:
1
Write/Erase Cycles: 10,000 Flash/100,000 EEPROM
Du kannst den Flash-Speicher (dort liegt das Programm) also mindestens 
10000 mal überschreiben. Und ja das geht auch während das Programm 
läuft.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.