Anfängerprojekt Problem

ich habe mal einen Sketch geschrieben, schau ihn dir mal an, ob er das macht was du möchtest.

/*
 *© Ardubu Mai 2018
 *Led blinkt so oft wie ein Taster gedrückt wurde und macht dann 1 sek. Pause
 *Taster wird zwischen GND und pin_x angeschlossen
 *interner Pullup Widerstand aktiviert
 *der counter zählt von 0 bis 255 jeden Tastendruck
 *am seriellen Monitor sieht man wie oft der Taster gedrückt wurde
*/

 #define DEBUG //Nur zur Fehlersuche aktivieren
 #define tasterPin 2//Taster an D2 und GND
  const uint8_t ledPin = 13;   // LED an D13
  uint8_t counter; //Zählt wie oft die Taste gedrückt wurde
  
void setup() {
  #ifdef DEBUG
  Serial.begin(115200);
  Serial.println("Setup");
  #endif
  pinMode(tasterPin, INPUT_PULLUP);
  pinMode(ledPin, OUTPUT);
 }

void loop() {
tasterAbfrage();
if(counter) blink_anz(counter,ledPin);

}//Ende loop

void tasterAbfrage()
{
 const uint8_t debounce_delay = 10; //Entprellzeit für den Taster in ms
 static bool tasterState, tasterState_alt;// Variablendeklaration (lokal)
 static uint32_t debounce_time;
 if (millis()-debounce_time>debounce_delay)tasterState = digitalRead(tasterPin); //einlesen des Tasters
   
 if (tasterState != tasterState_alt) // bei Pegelwechsel 
    {
     debounce_time=millis();
     #ifdef DEBUG
               Serial.println(counter);
     #endif
     if(!tasterState)//wenn Taster gedrückt
        counter++;
       
        tasterState_alt = tasterState; // state aktualisieren
        }
}
void blink_anz(const uint8_t anz,const uint8_t ledPin)
{
  static uint32_t previousMillis_led;        
  static uint32_t millisalt_led;
  static bool     ledState;
  static uint8_t  count;
  const uint16_t  interval = 300;           
  if(millis()-millisalt_led>1000)
  {
   if(millis() - previousMillis_led > interval)
     {
       previousMillis_led = millis();   
       if (!ledState) ledState = HIGH;
       else{
            ledState = LOW; 
            count++;
            if(count>=anz){count=0;millisalt_led=millis();}
            }
       digitalWrite(ledPin, ledState);
     }
   }
}