while-Schleife mit 2 Anweisungen funktioniert nicht

Gast #1720848
Lesenswert?
• ▲
▼
Hallo zusammen...

Ich habe mal eine Frage und zwar ist das hier ein kleines Unterprogramm 
von mir, bei dem auf dem Display ein Countdown von 30 runterläuft.

"volatile unsigned int Sekunden"

Diese werden mit einem OVF Interrupt runtergezählt... was auch super 
klappt.

Auch das abbrechen der 2 Schleifen durch Taste_x funktioniert. Nur 
Leider springt das Programm nicht in die zweiter Schleife, wenn Sekunden 
= 10 erreicht. Es bleibt ständig in der ersten Schleife...

Was mache ich falsch?

1
void countDown()          // 30sec CountDown-Funktion    
2
{
3
  lcd_clearDisplay();
4
  lcd_gotoxy(1,8);
5
  lcd_putstr(" <-- CD ");
6
  
7
  while((Taste_x==0)|(Sekunden<10))
8
  {  
9
    lcd_gotoxy(1,4);
10
    lcd_putc(Sekunden/10 + 0x30);    // Displayausgabe Zehner
11
    lcd_putc(Sekunden%10 + 0x30);    // Displayausgabe Einer
12
  }  
13
  
14
  while((Taste_x==0)|(Sekunden<5))
15
  {
16
    lcd_gotoxy(1,4);
17
    lcd_putstr(" ");        // Zehnerausgabe löschen
18
    lcd_gotoxy(1,5);
19
    lcd_putc(Sekunden%10 + 0x30);  // Displayausgabe Einer
20
  }
21
  sound();            // Unterprogramm Sound aufrufen
22
}


Vielen Dank schonmal!

Gruß xASP
Gast #1720864
Lesenswert?
• ▲
▼
ah jetzt ^^

ja stimmt... ich habs wohl bissl verplant.

weil ich wollte ja, dass das ganze weiterschaltet wenn Taste_x gedrückt 
wird ODER wenn Sekunden = 10 sind.

aber in dem Fall muss ja ein UND logischerweise dazwischen, weils ja 
solange laufen soll, wie Taste_x = 0 und Sekunden>10 sind.

Danke euch...

Dieses Forum ist der hammer :P

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.