我们今天详细讲解一下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、实验现象
下载好程序后,串口会打印A13端口的电压值对应的ADC值。
以上是关于TIMER的ADC触发功能介绍。
来源:华芯微特32位MCU
审核编辑:汤梓红
-
mcu
+关注
关注
146文章
18028浏览量
369081 -
adc
+关注
关注
99文章
6729浏览量
549631 -
定时器
+关注
关注
23文章
3302浏览量
119392 -
Timer
+关注
关注
1文章
64浏览量
13244 -
华芯微特
+关注
关注
0文章
7浏览量
1530
发布评论请先 登录
(华芯微特)SWM241系列、主流领域 LCD断码屏、TFT液晶屏
SWM181-从零开发华芯微特MCU
分析:华芯微特为何授权华秋电子为中国地区代理商?
(华芯微特)SWM166D8U6 M0+内核带CAN 高抗干扰屏驱MCU
华芯微特推出了专门为GUI界面而设的MCU产品
华芯微特MCU新品发布会圆满落幕
MCU之TIMER输入捕获

评论