divisione stringhe arduino

Ho bisogno di dividere uan stringa rispetto ad un carattere. Utilizzo la funzione strtok e funziona. Il problema è che se la stringa la dichiaro nel programma char dat[200]="Ciao ciao ciao"; funziona, ma se leggo la stringa dalla seriale e la costruisco non funziona. Questo è il codice per leggere dall seriale : char temp[20]="\0"; while(Serial.available()==1) { strcat(temp,(const char*)Serial.read()); }

Risolto bastava mettere la stringa carattere per carattere e poi un ritardo.