Forse ho trovato il problema, MA DOPO aver ricevuto la risposta, sei pregato, per rispetto alla comunità, di presentarti brevemente nell'apposito subforum, dicendo quali conoscenze hai di programmazione e elettronica.
Quando chiami la funzione chiama, trasmetti dei caratteri sulla SoftwareSerial, ora nella condizione che hai messo nel while() all'interno del loop(), gli dici fiche ci sono caratteri esegui il while().
//verifico che la comunicazione seriale sia stabilita
while(mySerial.available()!=0);{}delay(10); //finché available restituisce un numero diverso da
// zero continua il while-loop
/* il codice dovrebbe essere*/
/* è meglio che nella stringa trasmessa controlliamo con un carattere terminatore
in questo caso uso il carattere ';' per controllare che la stringa sia finita*/
char c;
if(myserial.available()>0){//se ci sono caratteri da leggere
do{// Finché ci sono caratteri da leggere
while(!myserial.available()); //Attendo che ci sia un carattere sulla seriale
c=mySerial.read();
Serial.write(c);
}while(c!=';');
}