Skip to main content
WBria.1
Associate II
Feb 28, 2023 9:03 PM UTC
Solved

DMA UART RX idle line interrupt earlier

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.
Pavel A.
Pavel A.Best answer
Mar 12, 2023 3:19 PM UTC

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
Mar 11, 2023 9:03 PM UTC

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
Mar 12, 2023 3:19 PM UTC

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.

​