Цитата
Тогда для эксперименту одновременно в DualMode
Увы, в 100м нет 2х ацп. Иначе бы сразу попробовал.
Цитата
(result = adc-vref)
Не, там вроде надо делить. Если u = vdda/4096*X, то через vref u = 1.2/vref*X, т.е. колебания vdda из формулы убираются. И в принципе это работает, но если мерить одним ацп, то измерения должны быть как можно ближе друг к другу.
На счет ядра я поспешил с выводами, вчера еще раз посмотрел - оно почти не влияет, правда это F100 на 24МГц.
Про измерения Vrefint в даташите сказано, TS_vrefint: тип. 5.1мкс, макс. 17.1мкс
У меня получилось, что оптимально 28.5 тактов. Меньше - кривовато мерит (особенно 1.5), больше - разницы уже не вижу.
Но вообще это Vrefint - штука хитрая оказалось. Его вполне успешно можно мерить и за 1.5 такта, если мерить в составе группы.
Оно вообще как-то странно мерится за 1.5 такта. Хотя оно и не обязано.
Если мерить только его, то полная чушь. Если мерить группой 2 канала (опорное 1ым или 2м), то нормально. Если 3 канала, опорное - 1ое и 3е, то 1ое кривое, 3е нормальное.
Еще столкнулся с похожей проблемой ацп+дма, точнее это не проблема, а скажем так, особенность

После переустановки счетчика дма и включения дма, счетчик может уменьшиться на 1. Происходит это видимо только в тому случае, если была попытка ацп что-то оправить в дма, когда буфер уже закончился.