While-Schleife wird nicht unterbrochen


hallo,

ich habe da mal ein kleines problem: ich möchte eine led 'weich' blinken lassen, aber nur wenn zr24zustand == 11. die funktion dazu wird im loop-teil aufgerufen. drei sekunden später wird der wert der variable verändert. allerdings läuft die while-schleife der led immer noch und der loop-teil beginnt auch nicht von vorn. mache ich falsch? wie kann ich die schleife beim Ändern der variable unterbrechen, während die led gerade im aus-zustand ist. (hinweis: common anode -> high und low vertauscht)

gruß
paul


code: [select]

void zr24hla9() {
  zr24zustand = 11;
   while(zr24zustand == 11) {
    while(zr24ge1_val != 0) {
      analogwrite(zr24ge1, zr24ge1_val);
      zr24ge1_val --;
      delay(1);
    }
    delay(625);
    while(zr24ge1_val != 255) {
      analogwrite(zr24ge1, zr24ge1_val);
      zr24ge1_val ++;
      delay(1);
    } 
    delay(500);
  }
}
void loop() {
   zr24hla12();
   delay(3000);
   zr24hla3();
   delay(3000);
   zr24hla9();
   delay(3000);
   zr24zustand=15;
   
}

hallo,

ich habe da mal ein kleines problem: ich möchte eine led 'weich' blinken lassen, aber nur wenn zr24zustand == 11. die funktion dazu wird im loop-teil aufgerufen. drei sekunden später wird der wert der variable verändert. allerdings läuft die while-schleife der led immer noch und der loop-teil beginnt auch nicht von vorn.
gruß
paul
dein code hängt immer noch in der while-schleife und kommt überhaupt nicht zur wertänderung im loop.

lass die eigenen while-schleifen weg, die delay ebenfalls und arbeite mit millis() und zuständen.

suchtips: blinkwithoutdelay und nachtwächtererklärung zum einarbeiten.

gruß tommy


Arduino Forum > International > Deutsch (Moderator: uwefed) > While-Schleife wird nicht unterbrochen


arduino

Comments

Popular posts from this blog

DHT11 Time out error using v0.4.1library

Sketch upload fails with Java error (___REMOVE___/bin/avrdude)!

Arduino Uno + KTY81/210 temperature sensor