ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
3 июля
1205721 Топик полностью
il-2 (05.05.2022 06:19, просмотров: 182) ответил LightElf на Чёт не пойму смысл использовать циклический режим DMA. Видимо не вкуриваю прелести. Когда юзал STM, байты складывал в кольцо программно, а отправку делал с помощью DMA в обычным блочным режиме. Но тут каждый изгаляется в меру своего чувства прекрасного.
Кольцевой режим незаменим для асинхронного приема (USART RX). Еще он может оказаться полезен и для синхронного приема (Master SPI RX) - можно 1 раз запрограммировать DMA и не трогать. В остальных случаях он не нужен. Хотя... 

Представил себе такую задачу:

Надо равномерным непрерывным потоком гнать данные по USART или SPI (например от ADC после программной фильтрации).

Настраиваем DMA на прием во входной кольцевой буфер ADC и на передачу из выходного кольцевого буфера USART. Размеры буферов выбираем такими, чтобы они не успевали переполняться/опустошаться при задержках обработки фильтрации (например из-за многозадачности RTOS).

Как-то так.