TXE bit no restablecido en la comunicación USART

2

Estoy programando un chip STM32F2 Cortex M3 (manual de referencia aquí ). Específicamente, quiero transmitir bits a través del USART. Al leer las páginas 620 y siguientes, entiendo que el hardware debe restablecer el TXE bit del registro de estado USART después de escribir los datos en el registro de datos.

No he podido obtener el TXE para restablecer. Se configura en el arranque, e incluso después de escribir en el registro de datos, permanece establecido.

La razón por la que estoy leyendo TXE bit es porque quiero asegurarme de que no estoy abrumando al USART con las solicitudes de transmisión. ¿Cómo puedo obtener el bit TXE para reiniciar? ¿Debe leerse el TXE bit en comunicación normal?

    
pregunta Randomblue

1 respuesta

2

Eso PARECE para ser cubierto en la sección etiquetada "Transmitir y recibir" aproximadamente a la mitad. Viz (especialmente ver en negrita.)

  • Antes de poder enviar los datos, el transmisor debe habilitarse primero configurando el bit USARTx_CR1_TE en USARTx_CR1. De acuerdo con el manual de referencia, inmediatamente después de configurar este bit, se enviará automáticamente un marco inactivo. No pude observar esto al borrar y configurar repetidamente el bit TE.

    Antes de enviar un carácter al registro de datos, debes probar el bit USARTx_SR_TXE.

    Este bit indica que el registro de datos contiene datos que aún no se han enviado al registro de desplazamiento TDR.

    No es necesario establecer o borrar directamente el indicador TXE, se borra cuando los datos se escriben en USARTx_DR y se establecen cuando esos datos se transfieren al TDR. Se puede conectar una interrupción a este bit si desea enviar datos bajo el control de interrupción.

    Si escribe en USARTx_DR cuando el registro de desplazamiento está vacío, los datos irán directamente al registro de desplazamiento, la transmisión comenzará inmediatamente y la marca TXE se establecerá de inmediato.

Lea más: enlace

El texto comienza en la parte inferior de la página 606 y la Fig. 225 en la página 607 [!!!!!!!] en
RM0033 Manual de referencia STM32F205xx, STM32F207xx, STM32F215xx y STM32F217xx El MCU avanzado de 32 bits basado en ARM parece estar relacionado.

    
respondido por el Russell McMahon

Lea otras preguntas en las etiquetas