if...while

Hola a todos!

tengo que declarar dos botones en un programa, y en el void loop tengo un while. Puedo ponerle un if antes del while? Esto es lo que tengo:

void loop()
{
  entrada_botonpeaton1=digitalRead(botonpeaton1);
  entrada_botonpeaton2=digitalRead(botonpeaton2);
  
  while (Serial.available())
  {
    byte dato = Serial.read();
    switch(dato)
    {
      //los coches pasan, peatones esperan y texto en rojo
      case '1':
      digitalWrite (ledcarred,LOW);
      digitalWrite (ledcargreen,HIGH);

Y yo necesito meter esos botones dentro del while si se pudieran, ya que me hacen falta para el semaforo...

Un saludo

Esto while (Serial.available())

espera comandos desde el teclado
Que tiene que ver con interruptores como botonpeaton1 y botonpeaton2?
Porque no haces esto... tal como esta va bien, pero el control de lo que debes hacer lo haces cuando termina de leer el puerto serie.

//los coches pasan, peatones esperan y texto en rojo
      case '1':
      digitalWrite (ledcarred,LOW);
      digitalWrite (ledcargreen,HIGH);

Solo muestras el caso de presionar 1 pero supongamos que presionana 'A' de avance pues bien, luego de leer el puerto serie, tendras

A y la combiancion de botonpeaton 1 y 2 y haces lo que debes.