While-Schleifer arbeitet nicht richtig

Hi,
hab ein Problem und zwar arbeitet die while schleife nur wenn ich noch den Serial.print Befehl drin hab, nimm ich den raus funktioniert es nicht.
Wieso ist das so?

Aufgabe ist, ich drücke eine Taste 3 mal dann wird "frei_ziehen = 1" anschließend drücke ich die Taste noch einmal und erst nach dem loslassen soll der code weiterlaufen.

danke
Gruß
TripleM

  while(frei_ziehen == 1){
    ziehen_state = digitalRead(ziehen);        //Aktueller Status an PIN ziehen abfragen
    if(ziehen_state == LOW) last_ziehen_state = 0;
    if(ziehen_state == HIGH && last_ziehen_state == 0) einmal_gezogen = 1;
    if (ziehen_state == LOW && einmal_gezogen == 1) 
        {
          einmal_gezogen = 0;
          frei_ziehen = 0;
        }  
       Serial.println(einmal_gezogen); 
  }

hi,

mach mal nach jeder prüfung des tasters ein kurzes delay rein, damit schließt Du prellen aus. das serial.print dauert auch seine zeit und bewirkt wohl das gleiche...

gruß stefan