Hello @Brussl
I did not fully catch your issue.
Did you make sure to implement all the added code sequences?
USART3_IRQHandler.
/* USER CODE END USART3_IRQn 0 */
if ((huart3.Instance->ISR & USART_ISR_RTOF) != 0)
{
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14, GPIO_PIN_SET); // Set PB14 (LED ON)
HAL_UART_DMAStop(&huart3);
uint16_t received_len = RX_BUFFER_SIZE - __HAL_DMA_GET_COUNTER(huart3.hdmarx);
HAL_UART_Receive_DMA(&huart3, RxData, RX_BUFFER_SIZE);
}
else
{
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14, GPIO_PIN_RESET);
}
HAL_UART_IRQHandler(&huart3);
/* USER CODE BEGIN USART3_IRQn 1 */
in main.c
/* USER CODE BEGIN 2 */
HAL_UART_Receive_DMA(&huart3, RxData, RX_BUFFER_SIZE);
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
int len = sprintf((char*)TxData, "%u ", txCounter++);
HAL_UART_Transmit_DMA(&huart3, TxData, len);
HAL_Delay(5000);
}
/* USER CODE END 3 */
in USART3_UART_Init(void) in main.c
/* USER CODE BEGIN USART3_Init 2 */
huart3.Instance->RTOR = 10;
__HAL_UART_ENABLE_IT(&huart3, UART_IT_RTO);
huart3.Instance->CR2 |= USART_CR2_RTOEN;
HAL_NVIC_SetPriority(USART3_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(USART3_IRQn);
/* USER CODE END USART3_Init 2 */
However, I recreated the project on the STM32H743, as you did, to determine if any problems occurred. The RTOF bit was set when the RTOR register reached 0, even without any activity on USART3.
I am going to attach the project so you can use it as a reference, if you want.

Hope this helps you find the solution.
Gyessine