Hola,
Tengo un pequeño problema, tengo q recibir 4 bytes seguidos por el puerto serie del u. El primer byte es un valor en hexa, q se usa como sincronismo, y los tres restantes son datos q tengo q guardar.
Hasta ahora, el u reconoce el sincronismo y lee sin problemas cualquier mensaje de un byte, pero cuando quiero hacer q lea cuatro bytes seguidos los lee mal y guarda datos erroneos.
Aca les mando la parte de codigo en cuestion:
void recepcion (int *range)
{
int a, ans=0;
while (ans!=SYN) //Busca un sincronismo especifico
{
Delay1KTCYx(123); //Delay de 200mseg transmit (pedido);
ans=recieve(); //Lee
}
for (a=0;a<3;a++) //Lee el resultado
{
*(range+a)=recieve();
}
}
transmit() y recieve() son dos funciones q transmiten y leen un byte (hasta donde se funcionan bien).
Les agradezco su ayuda.
Nyquist