UART datos dañados

0

He conectado un msp430 con un sensor a través de max3232 y puedo ver los datos entrantes. Pero el problema es que los 9 bytes de los datos están bien, pero luego los datos se corrompen. La velocidad en baudios que estoy usando 9600 es la misma que usa el sensor si lo conectas a la computadora. Si me puede indicar cuál es el error, realmente lo apreciaría.

    
pregunta James

1 respuesta

1

¿Cuál es la velocidad de transmisión máxima que funciona sin errores?

Agregado: creo que tu función UART tiene una saturación; puedes verificar?

RX ISR debería ser realmente corto, algo como esto:

 #pragma vector=USCIAB1RX_VECTOR

  __interrupt void USCI1RX_ISR (void)
{
   char temp = UCA1RXBUF;
   if (pos < BUFFER_LEN) buffer[pos++] = temp;
   // Add call to intrinsic function to clear SR on exit, like _BIC_SR_IRQ(LPM3_BITS);
}

Luego, el código en main () puede ver el valor de pos y los caracteres en buffer para decidir qué hacer.

    
respondido por el Tony EE rocketscientist

Lea otras preguntas en las etiquetas