Здравствуйте! Я сейчас разбираюсь с stm32l0, который имеет регистр ADC_CALFACT. Не нашел, для чего нужны данные, которые сохраняются в этом регистре. Подскажите, пожалуйста, где их использовать, т.к. у меня мысли только о том, что с их помощью можно скорректировать значения в регистре ADC_DR?
Здравствуйте! Я сейчас разбираюсь с stm32l0, который имеет регистр ADC_CALFACT. Не нашел, для чего нужны данные, которые сохраняются в этом регистре. Подскажите, пожалуйста, где их использовать, т.к. у меня мысли только о том, что с их помощью можно скорректировать значения в регистре ADC_DR?
Привет! Насколько я помню, это значение самому не нужно напрямую использовать. То есть:
1. Проводится калибровка.
2. Результат сохраняется аппаратно в модуле ADC контроллера.
3. Также результат сохраняется в регистре ADC_CALFACT.
4. И затем во время измерения эти калибровочные коэффициенты аппаратно применяются к измеренным значениям.
Но! При отключении питания с ADC эти внутренние значения будут потеряны, поэтому можно сохранить программно значение ADC_CALFACT, например, в тот же Flash, а затем, после подачи питания загрузить сохраненные значения в ADC_CALFACT обратно. Это позволит не тратить время на калибровку после каждого отключения питания.