0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

华芯微特MCU之TIMER触发ADC

jf_pJlTbmA9 来源:华芯微特32位MCU 作者:华芯微特32位MCU 2023-09-27 16:21 次阅读

01、TIMER定时器之脉冲发送功能

我们今天详细讲解一下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次,并计算两次结果的平均值作为转换结果。

具体配置函数如下图所示:

wKgaomUD8zGAay3kAAGImIJfzIU038.png

03、实验现象

下载好程序后,串口会打印A13端口的电压值对应的ADC值。

以上是关于TIMER的ADC触发功能介绍。

来源:华芯微特32位MCU

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16019

    浏览量

    343652
  • adc
    adc
    +关注

    关注

    95

    文章

    5652

    浏览量

    539489
  • 定时器
    +关注

    关注

    23

    文章

    3148

    浏览量

    112043
  • Timer
    +关注

    关注

    1

    文章

    58

    浏览量

    12679
  • 华芯微特
    +关注

    关注

    0

    文章

    7

    浏览量

    1347
收藏 人收藏

    评论

    相关推荐

    ADC的架构与触发源原理

    在 STM32 MCU 中,ADC 有多种启动触发方式,本文对各种触发源的原理进行介绍,方便大家以后如何选择合适的触发源。
    发表于 07-15 08:52 3163次阅读

    STM32F103用Timer3TRGO通道触发ADCADC在三路输出PWM高电平中间点采样,如何配置?

    各位大佬,新人初学嵌入式,现在在配一个ADC采样,配置Timer1通道1,2,3输出三路PWM,现在想要用Timer3TRGO通道触发ADC
    发表于 03-26 07:56

    灵动课堂《MM32 MCU使用分享》入驻智课堂

    `好消息!灵动微电子课堂《MM32 MCU 使用分享》入驻智课堂!!!现大家只要登录智课堂即可在线观看《MM32 MCU 使用分享》的
    发表于 06-05 15:55

    TM4C,TIMER触发ADC配制方法一直进不去中断

    TIMER触发ADC配制方法一直进不去中断,麻烦看看有没有问题呢,用ADC_TRIGGER_PROCESSOR方式可以进中断,ADC_TRIGGER
    发表于 08-14 07:33

    特与XX主控芯片片上资源对比分析

    资源紧张2、XX使用的1款ST芯片,资源比较丰富3、XX使用的其实并非BF6912AS11的主打功能(电容触控),而是当通用芯片使用4、的芯片暂时拿220来对比,部分资源优于S
    发表于 03-25 14:29

    28027中如何实现使用Timer实现对ADC触发

    ControlSuite中的ADC例程是使用PWM触发ADC,请问如何设置能实现Timer触发ADC
    发表于 06-19 11:03

    SWM181-从零开发MCU

    [0]从零开发MCU--SWM181感谢韬哥发来的SWM181CBT6开发板,板子是最小系统,我们仅仅是用于熟悉这个芯片,即使上面资
    发表于 07-01 07:08

    分析:特为何授权秋电子为中国地区代理商?

    逼近型 ADC 模块,3 路运算放大器模块,4 路比较器模块,并提供欠压检测及低电压复位功能。基于 SYNWIT
    发表于 05-20 14:14

    秋 BLDC 专区上线!为您汇集基于各品牌 MCU 落地应用的相关 BLDC 方案

    方案,点击文字即可跳转了解详情:基于峰岹科技 FU6812L-11 万转无刷电机控制板的BLDC 高速风筒方案基于中半导体 CMS32M55xx 系列 MCU 的BLDC 落地扇方案BLDC 五款风机参考方案基于
    发表于 06-20 15:28

    STM32G031F4P ADC触发失败是什么原因导致的?

    大家好。我正在使用 STM32G431F4P MCU。我正在使用 Timer3-Channel3 PWM 输出。PWM 频率为 20 kHz。ADC1 是 DMA 模式,我想
    发表于 12-23 09:32

    SWM34S系列高性能屏驱MCU 应用于储能、充电桩的仪表/显示屏

    提供配套图形上位机辅助开发接口丰富,适合各种接口屏幕可对接云平台 屏驱MCU 一级代理 ,可全程技术支持,协助产品快速开发
    发表于 11-08 16:36

    )SWM166D8U6 M0+内核带CAN 高抗干扰屏驱MCU

    SWM166D8U6 是一颗主要应用于屏幕驱动的32位MCU,内嵌 ARM® Cortex®-M0 内核,凭借其出色的性能以及高可靠
    发表于 11-20 16:52

    MCUTIMER脉冲发送功能的知识要点

    本文介绍了华芯微特公司的MCUTIMER脉冲发送功能的知识要点。 TIMER脉冲发送 1TIMER定时器之脉冲发送功能 我们今天详细讲解一下TIM
    的头像 发表于 09-09 10:05 2495次阅读
    <b class='flag-5'>MCU</b>之<b class='flag-5'>TIMER</b>脉冲发送功能的知识要点

    MCUTIMER脉冲发送

    本文介绍了华芯微特公司的MCUTIMER脉冲发送功能的知识要点。
    发表于 02-08 15:26 2次下载
    <b class='flag-5'>MCU</b>之<b class='flag-5'>TIMER</b>脉冲发送

    MCUTIMER精准延时(二)

    每一个TIMER都可以配置定时器溢出中断。使能溢出中断,计数器溢出会触发中断操作。
    发表于 02-08 15:49 0次下载
    <b class='flag-5'>MCU</b>之<b class='flag-5'>TIMER</b>精准延时(二)