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

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

3天内不再提示

MCU之TIMER脉冲发送功能的知识要点

MCU开发加油站 来源:华芯微特32位MCU 作者:华芯微特32位MCU 2021-09-09 10:05 次阅读

本文介绍了华芯微特公司MCUTIMER脉冲发送功能的知识要点。

TIMER脉冲发送

1TIMER定时器之脉冲发送功能

我们今天详细讲解一下TIMER的脉冲发送功能。

SWM190的TIMER模块提供了用于输出脉冲的功能,发送指定脉宽的方波,可通过配置相应寄存器输出脉冲做PWM使用。每一个TIMER都可以配置两个脉冲输出翻转点(翻转点0/1)中断。使能中断后,在计数过程中到达设置的翻转值会触发中断操作。

一般情况下我们会将翻转点1设置为TIMER的周期值,使其输出PWM波

2 SWM190 TIMER脉冲输出功能配置库函数

下面我们以脉冲输出为例,使用加强型定时器,使用TIMR0的Output Compare功能输出脉冲信号。在此例程中,我们将使用B6作为TIMER0的输出脉冲IO口,翻转点1设置为TIMER的周期值,使用脉冲输出功能输出PWM,其波形图如图表 1所示。

我们之前有讲到PORT和TIMER的配置方法,在这里就不在做赘述,将B6引脚通过PORT_Init设置为TIMER的输入功能引脚(PORTB_PIN6_TIMR0_OUT),并将TIMER0模块功能在TIMR_Init初始化为脉冲输出功能(TIMR_MODE_OC)。

我们接下来看TIMR_OC_Init(TIMR_TypeDef * TIMRx, uint32_t match, uint32_t match_int_en, uint32_t init_lvl)函数。

函数的第一个参数为TIMR_TypeDe,它是一个结构体类型,该类型在SWM190.h中被定义。具体参数为指定TIMER模块,有效值包括TIMR0,TIMR1,TIMR2,TIMR3;

第二个参数为match,为第一个翻转点,当计数器的值递减到match时引脚输出电平翻转;

第三个参数为match_int_en,为第一个翻转点中断使能,当计数器的值递减到match时是否产生中断;

第四个参数为init_lvl,为输出初始电平值;

我们的函数配置为:

TIMR_OC_Init(TIMR0, SystemCoreClock/400, 0, 1);

IMR_OC_Init函数中配置为使用TIMER0;第一个翻转值设置为SystemCoreClock/400;不使能输出PWM翻转点0;初始输出电平为高;

值得一提的是,在TIMR_OC_Init库函数中,默认将第二个翻转值配置为周期值(TIMRx-》OCMAT1 = TIMRx-》LOAD;)。

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

252b321a-10d3-11ec-8fb8-12bb97331649.png

3实验现象下载好程序后,B6脚输出初始电平为高,频率为100hz,占空比为25%的PWM。责任编辑:haq

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

    关注

    146

    文章

    16011

    浏览量

    343545
  • 脉冲
    +关注

    关注

    19

    文章

    853

    浏览量

    94766
  • 信号
    +关注

    关注

    11

    文章

    2636

    浏览量

    75380

原文标题:MCU之TIMER脉冲发送

文章出处:【微信号:mcugeek,微信公众号:MCU开发加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    使用定时器控制pwm发送脉冲,如何能够同时控制频率,脉冲个数?

    大神门,使用定时器控制pwm发送脉冲,如何能够同时控制频率,脉冲个数。因为需要精准控制步进电机转动角度,还有速度,需要这个功能。并且频率需要能够根据速度来改变。
    发表于 03-14 07:02

    AiP8F35XX系列触控MCU PCB设计要点

    电子发烧友网站提供《AiP8F35XX系列触控MCU PCB设计要点.doc》资料免费下载
    发表于 11-13 16:45 0次下载

    CKS32F4xx系列产品Timer的基本使用方法-定时器脉冲计数

    CKS32F4xx系列产品Timer的基本使用方法-定时器脉冲计数
    的头像 发表于 11-09 17:38 539次阅读
    CKS32F4xx系列产品<b class='flag-5'>Timer</b>的基本使用方法-定时器<b class='flag-5'>脉冲</b>计数

    NanoSync Timer 介绍

    Timer
    橙群微电子
    发布于 :2023年11月02日 10:07:13

    工程师需知道的50个路由器知识要点

    电子发烧友网站提供《工程师需知道的50个路由器知识要点.pdf》资料免费下载
    发表于 11-02 09:38 1次下载
    工程师需知道的50个路由器<b class='flag-5'>知识</b><b class='flag-5'>要点</b>

    触摸MCU设计要点有哪些?

    中微爱芯触摸MCU设计要点
    的头像 发表于 10-25 16:14 308次阅读
    触摸<b class='flag-5'>MCU</b>设计<b class='flag-5'>要点</b>有哪些?

    华芯微特MCUTIMER触发ADC

    华芯微特MCUTIMER触发ADC
    的头像 发表于 09-27 16:21 476次阅读
    华芯微特<b class='flag-5'>MCU</b>之<b class='flag-5'>TIMER</b>触发ADC

    STM32G4 Advanced Timer Break功能详解

    电子发烧友网站提供《STM32G4 Advanced Timer Break功能详解.pdf》资料免费下载
    发表于 09-19 15:09 1次下载
    STM32G4 Advanced <b class='flag-5'>Timer</b> Break<b class='flag-5'>功能</b>详解

    HK32MCU应用笔记(十六)| HK32F103xC/D/E-Timer的应用及注意事项

    HK32MCU应用笔记(十六)| HK32F103xC/D/E-Timer的应用及注意事项
    的头像 发表于 09-18 10:58 472次阅读

    使用定时器控制pwm发送脉冲,如何能够同时控制频率,脉冲个数

    大神门,使用定时器控制pwm发送脉冲,如何能够同时控制频率,脉冲个数。因为需要精准控制步进电机转动角度,还有速度,需要这个功能。并且频率需要能够根据速度来改变。
    发表于 08-05 07:09

    如何不用实物来验证TIMER编码器接口功能

    通常在STM32芯片的通用TIMER或高级TIMER都带编码器功能,支持基于1路或2路输入的编码脉冲计数。我们一般外接正交编码器,使用2路输入。TI
    的头像 发表于 06-21 16:16 480次阅读
    如何不用实物来验证<b class='flag-5'>TIMER</b>编码器接口<b class='flag-5'>功能</b>

    M261芯片如何用timer capture外部脉冲的个数?

    M261芯片如何用timer capture外部脉冲的个数? 用timer1,PB14,代码如下,是没有捕获到脉冲。请问是什么原因?
    发表于 06-19 06:44

    STC单片机BRT-Timer0-Timer1-同时编程脉冲输出源代码

    STC单片机BRT-Timer0-Timer1-同时编程脉冲输出源代码
    发表于 05-17 15:09 0次下载

    STC单片机BRT编程脉冲输出Timer0中断取反IO输出源代码

    STC单片机BRT编程脉冲输出-Timer0中断取反IO输出源代码
    发表于 05-17 15:08 0次下载

    利用非对称PWM模式体验编码器功能

    通常在STM32芯片的通用TIMER或高级TIMER都带编码器功能,支持基于1路或2路输入的编码脉冲计数。
    的头像 发表于 05-04 10:01 1545次阅读
    利用非对称PWM模式体验编码器<b class='flag-5'>功能</b>