va bene. proviamo una altra via. visto che leggi da una seriale, immagino che i caratteri siano o numeri interi di tipo byte (uint_8) o char.
A questo punto usi una bella union sul tuo buffer che cosè potrai "vedere ed usare" sia come byte che come char a seconda della necessità e inoltre non allochi due buffer (uno per array e uno per stringa). Basta mettere un bel "tappo" alla stringa (uno 0 alla fine dei caratteri letti da rs232).
union rs_buf{
byte b[512]; // o lungo quanto ti pare alla faccia di tuxduino :-)
char c[512];
};
rs_buf array;
ma guarda che mi tocca fare per farvi contenti ....