cancel
Showing results for 
Search instead for 
Did you mean: 

STM32L4 uart wrong init order

Till Rachow
Associate III
Posted on April 24, 2018 at 11:01

Hi Dev Team,

I found a bug in the HAL_UART_Init function provided by the above library. The advanced features are applied with UART_AdvFeatureConfig after the standard features are applied with UART_SetConfig.

I configured my TX Pin to invert its active level, this is one of the advanced features.

So if you run HAL_UART_Init, the TX pin will be set high in UART_SetConfig as this is IDLE level for UART. After that, the TX pin will be set low in UART_AdvFeatureConfig, as the inverted IDLE level is of course low.

This leads to a high-spike of a few us on the TX line, that needs to be low for my application.

Running UART_AdvFeatureConfig before UART_SetConfig fixes this, the TX pin will never be high.

Maybe you guys could consider calling the UART_AdvFeatureConfig before UART_SetConfig? Maybe the same also applies for other peripherals..

Thanks,

Till
0 REPLIES 0