cancel
Showing results for 
Search instead for 
Did you mean: 

USART Half Duplex TX Inversion Issue on STM32G0 No Transmission When Line PulledUp

jlourencao
Associate II

Hello,
I am working on a custom mixed communication implementation using USART in single-wire half-duplex mode with TX-only operation, level inversion, and interrupt-driven transmission on an STM32G0B0 (RETx package).

During testing, I observed the following behavior:

When the USART is configured in CubeMX as Single Wire (Half-Duplex) with TX inversion enabled and the line is internally pulled up, no data is transmitted.

However, when using asynchronous mode with the same inversion settings, transmission works normally.

My questions are:

  1. Is this behavior expected when using USART Half-Duplex mode with level inversion and a pull-up on the line?

  2. Has anyone experienced this behavior on the STM32G0 USART peripheral?

  3. I plan to use USART3, USART4, USART5, and USART6 simultaneously under an RTOS environment, all configured the same way (single-wire, inverted signal, interrupt driven). Under these conditions, should I expect similar transmission issues on all USART instances?

All selected pins support signal inversion and single-wire mode according to CubeMX and the reference manual.

Any clarification or experience regarding this behavior would be appreciated.
Thank you.

1 REPLY 1
TDK
Super User

Is RXINV also set? This needs to match TXINV since you are using half-duplex.

If data is inverted, idle state is now low, not high, so the pin should be pulled down.

If you feel a post has answered your question, please click "Accept as Solution".