Closed Meravid closed 7 months ago
Hello @Meravid,
Thank you for this report. We will get back to you as soon as we analyze it further. This may take some time. Thank you for your comprehension.
With regards,
Hello @Meravid,
As a result of the STM32CubeH7 being recently updated to v1.11.2, can you please verify that the issue still remains.
With regards.
Hello @Meravid,
Please allow me to close the issue, since there is no activity in a while.
With regards.
Caution The Issues are strictly limited for the reporting of problem encountered with the software provided in this project. For any other problem related to the STM32 product, the performance, the hardware characteristics and boards, the tools the environment in general, please post a topic in the ST Community/STM32 MCUs forum
Describe the set-up
Describe the bug
The
HAL_UART_ErrorCallback
is not called reliably, if a frame or noise error occurs.Background: The device is receiving several messages via UART with a wrong baudrate. Hence,
HAL_UART_ErrorCallback
is called, which is used to recover from the error and keep the UART reception alive for new messages. ButHAL_UART_ErrorCallback
is not always called, sometimes after the second or third or ... messageHAL_UART_ErrorCallback
is not called although the UART handle indicates a error by its memberErrorCode
.How To Reproduce
Indicate the global behavior of your application project: UART reception and transmission in DMA mode in two different threads.
HAL_UARTEx_ReceiveToIdle_DMA
is used for DMA receptionThe modules that you suspect to be the cause of the problem (Driver, BSP, MW ...)
The use case that generates the problem
How we can reproduce the problem
Additional context
The workaround which worked is to poll cyclic the ErrorCode of the UART and reset the UART reception in a case of error.
Things which didn't help.
Reinitialize in interrupt context
Set an event in interrupt and reinitialize in normal thread context
Screenshots If applicable, add screenshots to help explain your problem.