Verificación del estado completo de RBR FIFO de LPC2148 UART

-1

1) ¿Cómo comprueba si el RBR FIFO está lleno en el caso de LPC2148 UART? Sé que la condición de vacío se puede verificar utilizando la Lista de datos del receptor (RDR) del Registro de estado de línea (LSR). Pero no hay manera de comprobar el estado completo. Necesito el estado completo de la RBR FIFO para comprobar el error de saturación

    
pregunta daut

3 respuestas

1

El RDA se activa cuando el UART0 Rx FIFO alcanza el nivel de disparo definido en U0FCR [7: 6] y se restablece cuando la profundidad del UART0 Rx FIFO cae por debajo del nivel de disparo

Utilice RDA en su caso y defina el nivel de activación en U0FCR.

También del manual del usuario:

OE en el registro de estado de línea (página 156): la condición de error de saturación se establece tan pronto como ocurre. U0LSR1 se establece cuando UART0 RSR tiene un nuevo carácter ensamblado y el UART0 RBR FIFO está lleno .

Puede encontrar todo lo que necesita en el manual del usuario, pero necesita saber qué está buscando y simplemente leerlo detenidamente.

    
respondido por el Lazar
0

No debería haber ninguna invasión.

  • ¿Está utilizando las señales de control RTS, CTS, DTR?
  • ¿Tiene una rutina de interrupción para manejar los caracteres entrantes? (No hacerlo te hará infeliz)
  • ¿Has jugado con el "Nivel de activación de RX"?
  • ¿Ha visto el "Registro de estado de línea" y el bit "Error de saturación"?
respondido por el Kitana
0

En LPC2148, el búfer FIFO debe borrarse cada vez que se preforma un dato de lectura / escritura (byte o word o Dword) a / desde los búferes tx / rx. Aunque esto se hace automáticamente. Es necesario establecer los bits correspondientes en el registro UxFCR.

Por ejemplo: si las interrupciones de tx y rx están habilitadas y el tamaño de los datos se elige como 1 byte, la configuración U0FCR = 0x07 borrará los FIFOs de TX y RX cada vez que su búfer correspondiente maneje los datos de 1 byte.

Utilice U0LSR < 1st bit > para comprobar si se ha producido un error de saturación o no. Esto indica que el búfer se escribe de nuevo aunque esté lleno.

    
respondido por el eby

Lea otras preguntas en las etiquetas