Serial e push button

Se interpreto bene le tue necessità, oltre all'indicazione fornita da orso2001 devi fare in modo di intercettare che il software intercetti solo l'istante che il pulsante viene premuto, in modo tale che venga invocato una sola volta "Serial....".
Diversamente verificando lo stato, verrà inviata una raffica di caratteri "w".

Dai un'occhiata al listato e fatti un'idea di quello che si deve fare. Con l'occasione ho dato una ripulita al codice ...

const byte buttonPin = 8;
byte buttonState = 0;      // stato attuale
byte buttonStateOld = 0;    // stato precedente

void setup () {
  Serial.begin(9600);
  pinMode(buttonPin, INPUT_PULLUP);
  buttonStateOld = digitalRead(buttonPin);
}

void loop () {
  buttonState = digitalRead(buttonPin);

  if (buttonState != buttonStateOld) {     // variato stato button
    buttonStateOld = buttonState;          // aggiorna stato
    if (buttonState=LOW){                  // tasto premuto
      Serial.print("w");
    }

    else {                                 // tasto rilasciato
      // inserire codice al momento che il tasto
      // viene rilasciato
    }
  }

  // Non è obbligatorio inserire un "else" se non hai motivo di eseguire 
  // del codice in alternativa all "if"

}