ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
22 декабря
1483330
my504 (12.12.2024 15:28, просмотров: 205)
Спешу поделиться с коллегами по пескам. AT32F435. Работает связка TMR5->start->TMR20CH1->ADC1->DMA. В прерывании по DMA останавливаем TMR20. Проблема состояла в том, что работало только один раз. Потом транзакции прекращались и в прерывание по DMA код не влетал. Проблема разрешилась выключением/включением бита ADC1->ctrl2_bit.ocdmaen перед запуском очередной сессии DMA. Напомню, что этот бит переключает целевой флаг периферии (в данном случае АЦП) на 

работу в качестве источника реквестов DMA и отключает его от контроллера прерываний. Причем такой проблемы с таймерами не наблюдается и им передергивать бит TMRx->iden_bit.cxden не нужно.