Hola.
No se exactamente que significan los datos o que tipo de valores son los que quieres enviar pero tengo una sugerencia, porque no mandas el valor del dato en forma de caracter o codigo ASCII, primero hay que convertir el valor a enviar en caracteres, los enviamos y después recuperamos el valor deseado, algo como esto:
//Para enviar los datos tenemos:
char dato_caracter[4];
.
.
.
printf("A"); // Se inicia transmision
// Se envian la cantidad X de datos que se requieran
for (i=0;i==X;i++)
{
sprintf(dato_caracter,"%U",D);
printf("%S",dato_caracter);
}
...
printf("@"); // Se finaliza transmision
// Para la recepcion tenemos:
char recepcion[4],conversion[3];
char basura;
int D[20]; // Depende de hasta cuantos datos deseas recibir
int j,i;
.
.
.
basura=getc();
if (basura=="A") //se esta iniciando recepcion de valores valores
j=i=0;
do
{
basura=getc();
recepcion[j]=basura
j++;
if (j==4)
{
strncpy(conversion,recepcion,3);
D=atoi(conversion);
i++;
j=0;
}
}while (basura!="@");
Espero que te funcione, o que por lo menos te de alguna idea..................