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

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

3天内不再提示

浅谈stm32定时器应用中的2个疑问

茶话MCU 来源:cc 2019-01-28 10:14 次阅读

疑问1:在使用STM32通用或高级定时器的比较输出时,如果采用中心对齐计数模式做PWM输出,并使用比较事件作为ADC的触发启动。那么,在一个完整的计数周期内,可能发生2次比较事件,想知道如何确定使用哪次比较事件进行触发呢?换句话说,是否可以对比较事件进行选择配置?答案是肯定的。

下图是采样中央对齐计数模式,PWM mode 1的PWM输出情形。ARR=8,CCR=4.

在上面的应用情况下,比较事件可能发生在CNT与CCR第一次匹配时,即发生在向上计数阶段,也可能发生在CNT与CCR第二次匹配时,即发生在向下计数阶段。到底发生在哪个阶段,取决于相关控制寄存器的配置,这里跟寄存器TIMx_CR1中CMS控制位有关。

从该寄存器CMS控制位的描述不难看出,在计数器使用中心对齐计数模式做比较输出时,比较事件的发生是可以选择的。可以仅仅发生在向上计数阶段或向下计数阶段,也可以配置为上下两个计数阶段都产生比较事件。这点可以结合上面图形的箭头提示加以认知和理解。【CcxIF为相应通道的比较事件标志位】

疑问2:有人反馈,在定时器的溢出中断里打断点时,发现更新中断标志无法被清零,可用户在中断服务程序中实实在在的有对更新事件标志实施清零操作。

其实,并不是没法对更新事件标志清零,这只是种误解。原因是尽管此时客户在清零操作后的代码处打上了断点,但由于定时器并没有停止计数,如果再加上溢出周期较短。程序刚做完清除操作并停止在定时器中断服务程序断点后,由于定时器还在持续计数而产生新的溢出更新事件,令更新事件标志再次被置位,这样给人以更新事件标志没法被清零的错觉。

对于调试状态下定时器的计数动作是可以软件配置选择的,即当程序运行到断点后,定时器是继续计数还是暂停下来可用户软件配置决定,【这里的定时器不仅仅指常规定时器,还包括看门狗】。

具体到上面案例,如果希望在断点处计数器暂时不要计数,我们可以软件上做相应配置。这里涉及到寄存器DBGMCU_CR,让相关定时器在调试状态遇到断点时暂停计数。

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

    关注

    2239

    文章

    10663

    浏览量

    348496
  • 定时器
    +关注

    关注

    23

    文章

    3143

    浏览量

    112003

原文标题:stm32定时器应用中的2个疑问

文章出处:【微信号:stmcu832,微信公众号:茶话MCU】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    6748的startware定时器例程问题

    关于6748的startware定时器例程有点疑问:在\demo\StarterWare\Application\TIMER_Dual_32-bit_UnChained例程,//
    发表于 10-30 07:32

    STM32F4系列总共有多少定时器

    STM32F4系列总共有17定时器,1系统定时器sysTick,其中
    发表于 08-18 07:42

    STM32使用定时器计数

    STM32 使用定时器计数寄存版本学过51单片机的同学,都知道51单片机只提供了2定时器
    发表于 08-18 07:23

    浅析STM32定时器的时钟源

    STM32定时器的时钟源STM32有多达8定时器
    发表于 08-18 06:31

    STM32定时器部分的介绍

    概述这次是STM32定时器部分的介绍,他与51系统的不同是定时器数量的增加以及寄存的调用,说白了,库函数还是基于寄存
    发表于 08-18 07:57

    stm32定时器介绍

    定时器介绍此处引用普总结的知识, STM32一共有11定时器,其中
    发表于 08-19 08:16

    STM32如何利用一硬件定时器构建多个软件定时器

    STM32如何利用一硬件定时器构建多个软件定时器呢?如何去实现STM32软件
    发表于 11-24 06:12

    stm32定时器中断程序

    STM32定时器是个强大的模块,定时器使用的频率也是很高的,定时器可以做一些基本的定时,还可以做PWM输出或者输入捕获功能。 以下是进行
    发表于 10-12 16:59 1.3w次阅读

    [STM32]通用定时器的使用

    STM32的通用定时器定时、输出PWM功能的使用本次还是使用发光二极管来验证定时器的使用目录STM32的通用
    发表于 11-22 19:06 24次下载
    [<b class='flag-5'>STM32</b>]通用<b class='flag-5'>定时器</b>的使用

    STM32定时器-基本定时器

    目录定时器分类基本定时器功能框图讲解基本定时器功能时钟源计数器时钟计数器自动重装载寄存器定时时间的计算定时器初始化结构体详解实验
    发表于 11-23 18:21 28次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>定时器</b>-基本<b class='flag-5'>定时器</b>

    STM32——高级定时器、通用定时器、基本定时器的区别

    STM32——高级定时器、通用定时器、基本定时器的区别
    发表于 11-26 15:21 109次下载
    <b class='flag-5'>STM32</b>——高级<b class='flag-5'>定时器</b>、通用<b class='flag-5'>定时器</b>、基本<b class='flag-5'>定时器</b>的区别

    STM32---定时器知多少

    STM32定时器知多少这里写目录标题STM32---定时器知多少定时器的分类定时器的工作原理
    发表于 11-30 14:36 19次下载
    <b class='flag-5'>STM32</b>---<b class='flag-5'>定时器</b>知多少

    STM32定时器学习---基本定时器

    STM32F1系列的产品,除了互联网产品外,工作8个,3种定时器,其中一种就是基本定时器。那么STM32单片机的基本定时器如何操作以及编程呢
    发表于 12-02 14:06 27次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>定时器</b>学习---基本<b class='flag-5'>定时器</b>

    基于STM32定时器实验分享

    基于STM32定时器实验分资料分享。
    发表于 05-24 15:51 1次下载

    STM32的通用定时器

    STM32F1 的定时器非常多,由 2 个基本定时器(TIM6、TIM7)、4 个通用定时器(TIM2-TIM5)和 2 个高级定时器(TI
    的头像 发表于 02-10 14:47 2513次阅读