ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
16 апреля
1154474 Топик полностью
il-2 (13.12.2021 10:09, просмотров: 421) ответил SciFi на Я делаю приём в кольцевой буфер через DMA (там и режим такой имеется circular). Прерывания не нужны совсем, если успеваем выгребать из приёмного буфера:
Я делаю похитрее и посложнее: 

Когда надо выгребать данные из приемного буфера, то после проверки по CNDTR, если она показывает отсутствие данных - разрешаю прерывание RXNEIE и жду приема уже по прерыванию. Там есть тонкости - например, после разрешения RXNEIE надо еще раз проверить CNDTR, т.к. на интервале между первой проверкой CNDTR и разрешением RXNEIE могли прийти данные, которые тут-же схватит DMA (и сбросит флаг запроса RXNE).