Skip to main content
WBria.1
Associate II
February 28, 2023
Solved

DMA UART RX idle line interrupt earlier

  • February 28, 2023
  • 2 replies
  • 1607 views

Hi,

i have been using F030C6 with 1 uart and make DMA works. but when i received a modem message( like AT+CPIN? e.g.) DMA stops 2 or more times. We can see the image below that i put one toogle pin to show when DMA interrupt occurs.

my question is how can i configure this IDLE minimum PERIOD?

This topic has been closed for replies.
Best answer by Pavel A.

What you actually want in this case is RTO (receive timeout), not "idle" event.

But UARTs of STM32F0 don't have RTO feature.

Either use a timer or as @Piranha​ advises, don't care for pauses, parse continuously.

2 replies

Piranha
Principal III
March 11, 2023

First, implement a sane UART driver:

https://github.com/MaJerle/stm32-usart-uart-dma-rx-tx

Second, you don't need to change the IDLE period, but instead implement a proper AT message parser, which doesn't care for pauses.

Pavel A.
Pavel A.Best answer
March 12, 2023

What you actually want in this case is RTO (receive timeout), not "idle" event.

But UARTs of STM32F0 don't have RTO feature.

Either use a timer or as @Piranha​ advises, don't care for pauses, parse continuously.