adc配置
adc配置时有个地方让我觉得很困惑:
- ContinuousConvMode ,DiscontinuousConvMode这两个参数,乍一看只需要一个就好了,只要决定是不是连续转换就可以了。但实际上这两个参数是为了配置出更多的模式。经过查阅资料配置含义如下:
ContinuousConvMode | DiscontinuousConvMode | 转换模式 | |
---|---|---|---|
DISABLE | DISABLE | 单次转换 | 触发一次,转换一个序列(转换所有被选通道),转换结束后停止 |
ENABLE | 无效 | 连续转换 | 触发一次,转换一个序列(转换所有被选通道),转换结束后自动重新开始 |
DISABLE | ENABLE | 断续转换 | 触发一次,转换一个通道,在触发,在转换。在所选转换通道循环 |
- 内部参考电压
当adc的外部参考电压不准时,可以考虑使用内部参考电压进行校准:
公式:
Vref = (1.2 / (adc_vref / 4095 * 3.3)) * 3.3
其中adc_vref为adc内部参考电压通道的数值。
实际电压 = Vref * Vch / 4095
(Vch是通道采集的adc的值)