ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
26 ноября
1154464 Топик полностью
lloyd (13.12.2021 09:27, просмотров: 382) ответил Argon на Начал изучать совместную работу UART и DMA в STM32... Если верно понял, при конфигурации DMA задается ожидаемый объем принятых данных. А до конца приема мы не можем знать сколько уже принято?
Dma_Channel->CNDTR 

Структура DMA-канала хранит счётчик, сколько раз нужно выполнить операцию до окончания работы. То есть для буффера 1000 байт и заполненного на 200 байт в счётчике будет 800 (с поправкой на by-one-error, лень проверять).


Внимание: если вы работаете с кешируемой памятью (Cortex M7 / Cortex A), нужно сбросить кеш данных перед чтением данного "регистра", либо настроить область памяти на некешируемое чтение (такое вообще у микроконтроллеров бывает?).