Problem mit analogWrite() [erledigt]

Hallo Leute…
ich sitze hier gerade an einem kleinen Teilprogramm, was mich etwas stutzig macht.
Ich möchte einfach mittels analogWrite() auf Knopfdruck eine LED hoch- oder runterdimmen. Dazu habe ich die Variablen helligkeit (Helligkeitswert für analogWrite())und beleuchtung (true–>LED soll leuchten).
Ich habe eine Methode geschrieben, die zur loop() hinzugefügt wird, und mittels millis() werden die Variablen gegebenenfalls geändert und die LED gesetzt.
Das Problem: befindet sich nach dem analogWrite() nichts weiter, dann setzt er die LED sofort auf HIGH oder LOW, also wird sie nicht gedimmt. Habe ich DEBUG definiert, und er gibt den Helligkeitswert danach auf der Konsole aus, dimmt er. Er dimmt auch, wenn ich nach dem analogWrite() ein kleines delay() setze.
Aber wie kommt dies zustande?

entsprechender Code:

void beleuchtungLoop(){
  if(current_Milliseconds-beleuchtung_Milliseconds>=500){
    if(beleuchtung && helligkeit<255){
      helligkeit++;
      analogWrite(beleuchtungsPin, helligkeit);
      /*#ifdef DEBUG
        Serial.print("neue Helligkeit: ");
        Serial.println(helligkeit);
      #endif*/
      delay(5);
    }else if(!beleuchtung && helligkeit>0){
      helligkeit--;
      analogWrite(beleuchtungsPin, helligkeit);
      #ifdef DEBUG
        Serial.print("neue Helligkeit: ");
        Serial.println(helligkeit);
      #endif
    }
    messung_Milliseconds=current_Milliseconds;
  }
}

if(current_Milliseconds-beleuchtung_Milliseconds>=500){

messung_Milliseconds=current_Milliseconds;

wo wird messung_Milliseconds verwendet?

Ich vermute (da nur ein Codeschnipsel gepostet wurde), der loop ist so schnell, dass Du das Dimmen nicht siehst.

Gruß Tommy

Vermutlich hast du einen Pin ohne PWM Funktionalität gewählt!?

Au man, den Facepalm haben nun alle Nachbarn mitbekommen :blush:

wo wird messung_Milliseconds verwendet?

-->in einer anderen Methode, Deine Antwort hats mir vor Augen geführt, danke dafür xD Typischer Copy n Paste- Fehler.... Habe das Grundgerüst der Methode kopiert und angepasst, nur eben diese Zeile nicht

Ich vermute (da nur ein Codeschnipsel gepostet wurde), der loop ist so schnell, dass Du das Dimmen nicht siehst.

-->fast, er hat beleuchtung_Milliseconds einfach nie auf die aktuelle Zeit gesetzt, ist also mit jedem Durchlauf rein....

Vermutlich hast du einen Pin ohne PWM Funktionalität gewählt!?

-->Hatte ich auch schon gedacht^^