Ho poi eliminato le 3 funzioni principali ed ho scoperto che la funzione resetMAX(); è quella che crea problemi:
byte varMAX = 0; /* variabile che contine il numero del canale in base a quante volte schiaccio il tasto select */
void resetMAX(){
if (select){varMAX++;} /* se select è true, aggiungi un valore alla variabile varMAX */
for (varMAX; varMAX <= (Channel - 1);){ /* ciclo for, finché la variabile è minore o uguale del numero dei canali */
if (reset){VdigitalMAX[varMAX] = 0;} /* se reset è true, azzera l'elemento dell'array della tensione digitale corrispondente al canale selezionato */
}
varMAX = 0; /* azzera la variabile */
}