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

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


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