我們今天詳細(xì)講解一下TIMER的ADC觸發(fā)功能。
SWM190的TIMER2/3支持SAR ADC觸發(fā)功能,此功能配置為定時(shí)器或脈沖發(fā)送均有效,可通過配置相應(yīng)寄存器實(shí)現(xiàn)。
將SAR ADC CTRL寄存器中TRIG設(shè)置為TIMER2觸發(fā)或TIMER3觸發(fā)。TIMER可作為定時(shí)器或計(jì)數(shù)器(支持級聯(lián))使用。當(dāng)對應(yīng)TIMER計(jì)數(shù)值減至0時(shí),將觸發(fā)ADC CTRL寄存器中選中的通道(CHx)進(jìn)行采樣。可以通過ADC采樣完成中斷進(jìn)行結(jié)果獲取。
TIMER觸發(fā)支持單次模式和連續(xù)模式,且支持多次采樣求平均值。
02、SWM190 TIMER觸發(fā)ADC功能庫函數(shù)配置
下面我們以ADC觸發(fā)為例,使用加強(qiáng)型定時(shí)器,使用TIMR3的定時(shí)器模式觸發(fā)ADC0的CH3。在此例程中,我們將用A13作為ADC0的采樣通道,一次啟動(dòng)連續(xù)采樣、轉(zhuǎn)換2次,并計(jì)算兩次結(jié)果的平均值作為轉(zhuǎn)換結(jié)果。
我們之前有講到PORT的配置方法,在這里就不在做贅述,將A13引腳通過PORT_Init設(shè)置為ADC的輸入功能引腳(PORTA_PIN13_ADC0_IN3),并將TIMER0模塊功能在TIMR_Init初始化為定時(shí)器模式(TIMR_MODE_TIMER)。
下面是一個(gè)簡單的ADC配置函數(shù)。
ADC_initStruct.clk_src=ADC_CLKSRC_HRC_DIV8; ADC_initStruct.channels = ADC_CH3; ADC_initStruct.samplAvg= ADC_AVG_SAMPLE2; ADC_initStruct.trig_src = ADC_TRIGGER_TIMR3; ADC_initStruct.Continue = 0; //非連續(xù)模式,即單次模式 ADC_initStruct.EOC_IEn = 0; ADC_initStruct.OVF_IEn = 0; ADC_Init(ADC0, ADC_initStruct); //配置ADC
我們通過結(jié)構(gòu)體的方式配置ADC,使用ADC0的CH3通道進(jìn)行采樣,觸發(fā)源為TMIER3,單次觸發(fā)模式,一次啟動(dòng)連續(xù)采樣、轉(zhuǎn)換2次,并計(jì)算兩次結(jié)果的平均值作為轉(zhuǎn)換結(jié)果。
具體配置函數(shù)如下圖所示:
03、實(shí)驗(yàn)現(xiàn)象
下載好程序后,串口會(huì)打印A13端口的電壓值對應(yīng)的ADC值。
以上是關(guān)于TIMER的ADC觸發(fā)功能介紹。
來源:華芯微特32位MCU
審核編輯:湯梓紅
-
mcu
+關(guān)注
關(guān)注
146文章
17312瀏覽量
352207 -
adc
+關(guān)注
關(guān)注
99文章
6532瀏覽量
545420 -
定時(shí)器
+關(guān)注
關(guān)注
23文章
3255瀏覽量
115169 -
Timer
+關(guān)注
關(guān)注
1文章
64瀏覽量
12805 -
華芯微特
+關(guān)注
關(guān)注
0文章
7瀏覽量
1443
發(fā)布評論請先 登錄
相關(guān)推薦
評論