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的值)