1.關于ADC輸入通道與GPIO口的輸入關系需要查看STM32芯片手冊(p31)而非數據手冊。
2.外部觸發(fā)源指的是觸發(fā)ADC采樣的觸發(fā)信號,這與1的GPIO口輸入是兩個不同概念。而JEXTBEL[2:0]或者EXTBEL[2:0]決定具體是哪個觸發(fā)源。
3.大的方向,觸發(fā)模式分為了 ADON位觸發(fā)啟動和外部觸發(fā)啟動ADC轉換兩種。用后者就行了
4.當我們使用一個ADC要采集多個通道時,單獨規(guī)則組由于只使用了一個數據寄存器,并且是整個組轉換完后才會觸發(fā)中斷,因此數據會覆蓋,這種情況下需要使用DMA方法(后面采用試試),這時數據寫到SRAM中了。而單獨使用注入組總共可最多有四個通道,對應四個數據寄存器,不存在覆蓋。
5.關于注入通道和規(guī)則通道,原子說的很形象,前者相當于中斷,能打斷后者。并且舉得監(jiān)控例子不錯
6.雙ADC模式是指ADC1和ADC2兩個ADC同時使用的情況。其實對于我們如果使用通道少的話,一個ADC就夠用了,比如使用一個注入組就能采集四個通道,而使用規(guī)則組就可以采集16個通道,一起就能20個通道了.
二、利用STM32內部溫度傳感器測量溫度:
32的溫度值與電壓值成正比關系,利用下列公式得出溫度
溫度(°C) = {(V25- VSENSE) / Avg_Slope} + 25
這里:
V25=VSENSE在25°C時的數值
Avg_Slope=溫度與VSENSE曲線的平均斜率(單位為mV/ °C或μV/ °C)
注意這里的V25和Vsense對應的是電壓值,參考32的芯片手冊可知,V25典型值為1.43,Avg_Slope為4.3mv/°C,Vsense即當前要測量溫度對應的電壓值,當3.3V對應3095,因此當前電壓的計算可由比例關系Vsense = 3.3*當前寄存器采樣值/4095。然后由上面公式得到當前溫度。
//另注:自帶的溫度傳感器是測試芯片自身溫度,用其來測環(huán)境溫度肯定有誤差