IBAH (24.11.2025 23:00, просмотров: 714)
Рятуйте, граждане! GD32F103. Хочу, просто, без изъёбов, АЦП, 4
канала, через DMA. Пишу через библиотеку LL от STM. Не пашет! На
тактовой 104МГц ведет себя ну очень неадекватно, при тактовой АЦП
13МГЦ прерывания ДМА вообще не возникают, при тактовой 52
прерывания возникают, но АЦП не работает, на выходе 0. А тактовой
32МГц, все работает! Где эта грабля засела??? Пробовал писать
ручками
RCC->CFGR=RCC->CFGR|(3<<14UL)|(1<<28UL);//делитель
16, не помогает.
-
- Долбаные китайцы!!! Нужно давать паузу между включением и началом
преобразования. Пункт третий ераты. При больших скоростях
тактирования, эта пауза небольшая. И по этому АЦП запускался. При
нормальной тактовой надо делать паузу. IBAH(1 знак., 25.11.2025 14:48, ссылка)
- Все таки проблемы возникают когда трогаешь регистр
RCC->CFGR=RCC->CFGR|(3<<14UL)|(1<<28UL);
Когда низкая тактовая, 32 и меньше, АЦП работает без пределителя.
На больших тактовых, АЦП только тактируется но не измеряет, как
только ставишь пределитель и тактирование исчезает, прерывания ДМА
не возникают. Кто виноват и что делать?! - IBAH(25.11.2025 10:58)
- Выкинь каку и возьми E103 или F130, они стоят не дороже, зато
посвежее и не первый блин. - Andreas(25.11.2025 10:33)
- Выведи тактовую сисклока на выход и посмотри осциллографом с нужной
полосой и частотомером. Чтобы не напрягать осциллограф, я включал
делитель на выходе тактовой. - Nikolay_Po(25.11.2025 07:43)
- Где-то неправильно настраивается тактирование, это все что можно
сказать с такими исходными данными. - il-2(25.11.2025 07:30)