我們今天詳細講解一下TIMER的ADC觸發功能。
SWM190的TIMER2/3支持SAR ADC觸發功能,此功能配置為定時器或脈沖發送均有效,可通過配置相應寄存器實現。
將SAR ADC CTRL寄存器中TRIG設置為TIMER2觸發或TIMER3觸發。TIMER可作為定時器或計數器(支持級聯)使用。當對應TIMER計數值減至0時,將觸發ADC CTRL寄存器中選中的通道(CHx)進行采樣。可以通過ADC采樣完成中斷進行結果獲取。
TIMER觸發支持單次模式和連續模式,且支持多次采樣求平均值。
02、SWM190 TIMER觸發ADC功能庫函數配置
下面我們以ADC觸發為例,使用加強型定時器,使用TIMR3的定時器模式觸發ADC0的CH3。在此例程中,我們將用A13作為ADC0的采樣通道,一次啟動連續采樣、轉換2次,并計算兩次結果的平均值作為轉換結果。
我們之前有講到PORT的配置方法,在這里就不在做贅述,將A13引腳通過PORT_Init設置為ADC的輸入功能引腳(PORTA_PIN13_ADC0_IN3),并將TIMER0模塊功能在TIMR_Init初始化為定時器模式(TIMR_MODE_TIMER)。
下面是一個簡單的ADC配置函數。
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; //非連續模式,即單次模式 ADC_initStruct.EOC_IEn = 0; ADC_initStruct.OVF_IEn = 0; ADC_Init(ADC0, ADC_initStruct); //配置ADC
我們通過結構體的方式配置ADC,使用ADC0的CH3通道進行采樣,觸發源為TMIER3,單次觸發模式,一次啟動連續采樣、轉換2次,并計算兩次結果的平均值作為轉換結果。
具體配置函數如下圖所示:
03、實驗現象
以上是關于TIMER的ADC觸發功能介紹。
來源:華芯微特32位MCU
審核編輯:湯梓紅
-
mcu
+關注
關注
146文章
17317瀏覽量
352626 -
adc
+關注
關注
99文章
6533瀏覽量
545742 -
定時器
+關注
關注
23文章
3255瀏覽量
115362 -
Timer
+關注
關注
1文章
64瀏覽量
12818 -
華芯微特
+關注
關注
0文章
7瀏覽量
1453
發布評論請先 登錄
相關推薦
評論