CREAR, USAR FUNCIONES. "AGILIZAR EL CODIGO"

Hola hace muy poco estoy usando arduino me gustaria unas pequeñas aclaraciones sobre el uso de funciones, como crear una funcion.

tengo una de ejemplo:

boolean antirebote  (int pin ) {
  int  contador =0;
  boolean estado;            
  boolean estadoAnterior;   

  do {
    estado = digitalRead (pin);
    if (estado != estadoAnterior ){   
      contador = 0;                  
      estadoAnterior = estado;
    }
    else{
      contador = contador +1;      
    }
    delay (1);
  }
  while (contador < tiempoAntirebote);
  return estado;
}

por que el loop se utiliza esta otra parte.???

estBot1 = digitalRead(boton1);            
  if (estBot1  != estBotAnt1) {   
  
   if (antirebote (boton1)){  
                 
          salida1= 1 - salida1;
    }
  }
  estBotAnt1= estBot1;

Tema

Uso y manejo de Funciones

Aqui pudes poner tus dudas sobre alguna función
que no puedas utilizar o te da errores.

Y el uso de librerias.

COLABORAR