UART IRQ fired but no IRQ source configured
Hello,
I have a H7 design with multiple UART/USART used to communicate via RS485 drivers (XR3072).
I have programmed kind of loopback test by connecting the A/B signals of two RS485 busses.
For this I use 2 DMA channels for each UART, one for RX and one for TX.
Test runs fine, but if I connect a probe to RX signal, I get an UART IRQ with frame error flag set.
I found out that the RX output of the RS485 driver is tri-state during transmit, so this the source of the frame error. It can be solved using external or internal pull-up resistors. This is not the problem, just FYI.
What puzzles me:
First, I have no clue why this IRQ is fired at all. In my understanding, in order to fire an UART IRQ, the appropriate enable bits must be configured in CR1-3. In this case, only in CR1 the RE, TE and UE are set.
Here is the content of CR1 and IRQ registers when the UART IRQ handler is fired:

Second, to my surprise, the HAL IRQ handler simply does nothing, no error is thrown or error callback is run. Seems to me that the frame error is only processed during receive. If no transmission is active, the frame error is ignored.
Any idea what caused the IRQ to be executed?
Thanks,
Jochen
