NUCLEO-U031R8 – Unable to Read/Write UART Registers in Interrupt Mode
Hello everyone,
We are developing a custom UART driver for the NUCLEO-U031R8 board where both transmit and receive operations are handled through interrupts (no HAL/LL blocking calls). However, we are facing a major issue: we are unable to reliably read from or write to the UART peripheral registers.
We have tried accessing USART registers directly (e.g., USARTx->RDR, USARTx->TDR, ISR, CR1, etc.), but the values do not change as expected during runtime. Because of this, our interrupt-driven communication never starts properly.
We have verified:
Clock to USART is enabled
GPIO pins are configured for the correct alternate function
NVIC interrupt is enabled
CR1 bits for UE, TE, RE, RXNEIE, TXEIE are set
Despite that, both TXE and RXNE interrupt behaviors do not match what we expect, and register access seems unresponsive.
Has anyone encountered similar issues on STM32U0 series or this particular NUCLEO board?
Any guidance or known pitfalls (clocking, low-power modes, register protections, etc.) would be greatly appreciated.
Thank you!
