Процедура получения данных с АЦП настроена на работу по таймеру.
В одинаковых условиях, при фиксированном входном сигнале, который можно считать постоянным, берутся данные, которые отличаться могут только из-за погрешности, т.е. в младших битах.
Таймер запускает два АЦП, Готовность данных по прерыванию
ADC1->IER = ADC_IER_EOC.
Забираем данные библиотечной функцией
void HAL_ADC_ConvCpltCallback( ADC_HandleTypeDef* hadc )
Получаем несколько значений.
Проблема в том, что при рассмотрении выборки (10-20 значений) меняются не младшие биты, как можно было бы ожидать: а 4,5,6 разряды намного чаще, чем 1,2,3.
На картинке типичный случай
С чем это может быть связано?