Добрый день!
Столкнулся с проблемкой на STM32F373R8 (возможно есть и на других мк, пока не было времени проверить).
Системная тактовая частота 12 МГц.
Работаю с АЦП1 (12 битное).
Предделитель АЦП = 2.
АЦП настроено на непрерывное преобразование с минимальным временем выборки.
Частота преобразований получается (12МГц/2)/(14 тактов одно преобразование) = ~430 кГц.
Данные с АЦП забирает ПДП (DMA) контроллер.
Все работает прекрасно.
Однако когда в коде встречается цилический доступ к регистрам сторожевого таймера, то частота преобразований падет до 190 кГц.
Код
while (1)
{
IWDG->KR = 0xAAAA;
}
Проверял с регистрами IWDG->RLR, IWDG->PR.
Активность таймера не влияет на ошибку (т.е. и со включенным и с выключенным таймером).
При увеличении времени выборки, т.е. при сниженнии частоты преобразования данная проблема исчезает.
Может кто сталкивался с данной проблемкой и знает, где почитать более детально о работе ПДП и задрежках на шинах ?