chiamata funzioni esterne

Mi sa che è arrivato il momento di fare questa domanda che mi frullava da un po per la testa. Da poco ho cominciato con Arduino, non ho capito bene come richiamare una o più funzioni esterne al loop () e magari quando voglio io tramite un pulsante ritornare al loop(). Grazie

void MiaFunz()
{ ...
}

void loop()
{ ...
  MiaFunz();
 ...
}

Arduino si programma in C, quindi un buon libro sul C spiega bene come fare.

Si lo so, il problema è che non riesco a trovare un buon libro in ITALIANO che mi spieghi dall'inizio.
Ho provato a richiamare due funzioni esterne nel loop() tramite un pulsante, se il pulsante non è premuto mi visualizza la funzione void temp() se invece è premuto mi visualizza la funzione allarme(). Ho provato a scrivere lo sketch ma ho riscontrato vari problemi 1) riesco a visualizzare void allarme () quando il pulsante è premuto,ma non il void temp() se il pulsante non è premuto. 2)una volta entrato nel void allarme () non riesco a tornare nel loop(). Come posso risolvere? Grazie

E' C/C++. Una qualunque guida di uno di questi due linguaggi affronta la spiegazione delle funzioni, di come passargli dei parametri e di come ricevere dei valori da esse.
Un esempio a caso:

http://www.math.unipd.it/~sperduti/CORSO-C%2B%2B/Funzioni%20(I).htm