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

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

3天内不再提示

聊聊一个关于TIMER事件触发中断的响应话题

茶话MCU 来源:茶话MCU 2024-04-28 09:44 次阅读

这里有个关于TIMER事件触发中断的响应话题,我们一起聊聊。

情况是这样的,现在使用STM32G4系列的TIM8,工作在中心对齐计数,单脉冲PWM模式,使用内部系统时钟做时钟源,计数时不做分频,即PSC=0。CH1做PWM输出。

启动时计数器从0开始计数,与RCR对应的计数器值为3。请问在0~ARR范围内调整CCR1的值时,整个工作周期内进入基于比较事件的中断响应次数可能是下面哪些选项?

A:1 B:2 C:3 D:4 E:0

要回答上面问题,我们需厘清或注意几个小细节。

第一,这里只说采用中心对齐计数模式,实际上STM32 TIMER的中心对齐计数有三种模式,其模式1只有在向下计数过程中发生计数器与CCR值匹配时才产生比较事件并可以触发中断或DMA。见下图示意。闪电箭头表示发生比较事件。

7244d2a4-044b-11ef-a297-92fbcf53809c.png

而中心对齐计数模式2只有在向上计数过程中发生计数器与CCR值匹配时才产生比较事件并可以触发中断或DMA。见下图示意。闪电箭头表示发生比较事件。

726162ca-044b-11ef-a297-92fbcf53809c.png

中心对齐计数模式3则在向上和向下计数过程中发生计数器与CCR值匹配时都可以产生比较事件并触发中断或DMA。见下图示意。闪电箭头表示发生比较事件。

72832860-044b-11ef-a297-92fbcf53809c.png

第二,这里提到RCR=3和单脉冲模式。意味着从启动开始到计数停止。计数器刚好工作2个完整的计数周期,因为RCR=3对应4次计数溢出,4次溢出后产生更新事件并停止计数。

72a5ba10-044b-11ef-a297-92fbcf53809c.png

显然,这里结合第一点的提醒,我们不难得出可能发生的比较事件及相应中断响应次数的情况。不过,我这里还有第3点提醒。

第三,条件里说CCR在0~ARR范围变动,我们有必要对CCR=0和CCR=ARR时情况结合不同中心对齐计数模式来考虑。

第四,条件里对ARR和CCR的值并未具体说明,中断响应持续时间也未明确出来,这些会不会增加其它可能性呢?

那么以你的理解,结合开篇的条件和上面提醒,你认为可能出现哪些情形呢?即基于TIMER比较事件可能发生几次中断响应?或者说可能进入几次比较中断服务程序?



审核编辑:刘清

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

    关注

    2265

    文章

    10858

    浏览量

    354420
  • 计数器
    +关注

    关注

    32

    文章

    2253

    浏览量

    94294
  • 触发中断
    +关注

    关注

    0

    文章

    11

    浏览量

    6557
  • PWM输出
    +关注

    关注

    1

    文章

    66

    浏览量

    5113

原文标题:一个基于TIMER事件的中断响应话题

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

收藏 人收藏

    评论

    相关推荐

    一个GPIO如何配置成外部中断触发

    1STM32中断分组STM32 的每一个GPIO都能配置成外部中断触发源,这点也是 STM3
    的头像 发表于 01-25 08:44 1.6w次阅读
    每<b class='flag-5'>一个</b>GPIO如何配置成<b class='flag-5'>一</b><b class='flag-5'>个</b>外部<b class='flag-5'>中断</b><b class='flag-5'>触发</b>源

    利用TIMER事件和栈帧体验中断响应

    对于这几个中断响应的概念,我们是否可以比较直观地感受下呢?
    的头像 发表于 11-05 16:45 799次阅读
    利用<b class='flag-5'>TIMER</b>事件和栈帧体验<b class='flag-5'>中断</b><b class='flag-5'>响应</b>

    聊聊TIMER事件触发中断响应话题

    情况是这样的,现在使用STM32G4系列的TIM8,工作在中心对齐计数,PWM单脉冲模式,使用内部系统时钟做时钟源,计数时不做分频,即PSC=0。CH2做PWM输出。
    的头像 发表于 05-06 16:07 838次阅读
    <b class='flag-5'>聊聊</b><b class='flag-5'>TIMER</b>事件<b class='flag-5'>触发</b><b class='flag-5'>中断</b>的<b class='flag-5'>响应</b><b class='flag-5'>话题</b>

    请问28027用timer0触发ADC,无法进入timer0中断是为什么?如何解决?

    本帖最后由 只耳朵怪 于 2018-6-14 11:15 编辑 单独用timer0能够进入中断,在中断中我设置了
    发表于 06-14 00:10

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

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

    请问F28377S调用多个中断时为什么只能响应个中断

    采用F28377S芯片,调用INT1.1和INT1.7两个中断,如果两都打开,却只能响应INT1.7,即TIMER0,只有关闭了INT1.7,才能
    发表于 11-30 15:10

    触发中断时会调用对应的中断函数

    触发中断时会调用对应的中断函数 例如定时器2中断: TIM2_IRQHandler(void) HAL 库中对中断的类型进行了分类处理,每
    发表于 08-13 07:58

    Linux中断(interrupt)子系统之:软件中断(softIRQ)

    软件中断(softIRQ)是内核提供的种延迟执行机制,它完全由软件触发,虽然说是延迟机制,实际上,在大多数情况下,它与普通进程相比,能得到更快的响应时间。软
    发表于 05-13 10:33 1257次阅读

    聊聊关于架构的话题

     技术需要架构,芯片的架构,软件需要架构,公司需要架构,建筑需要架构,产品需要架构,人也需要架构,聊聊架构的话题
    的头像 发表于 09-28 02:48 2194次阅读

    C51单片机外部中断触发方式

    中断后,会硬件将IE清0(IE=0),但是不会取消掉外部中断引脚的低电平,因此需要硬件加软件清除低电平(p133)2. 下降沿触发方式 ○ CPU采样外部中断的引脚电平 ○ 如果
    发表于 11-19 12:06 90次下载
    C51单片机外部<b class='flag-5'>中断</b>的<b class='flag-5'>触发</b>方式

    "外部中断----高低电平触发,(边沿触发)上升沿触发和下降沿触发区别"

    外部中断可以分为电平触发和边缘触发两种,那么这两种中断有什么区别,我们今天讲解下1什么是中断CPU在处理某
    发表于 11-22 15:51 11次下载
    "外部<b class='flag-5'>中断</b>----高低电平<b class='flag-5'>触发</b>,(边沿<b class='flag-5'>触发</b>)上升沿<b class='flag-5'>触发</b>和下降沿<b class='flag-5'>触发</b>区别"

    关于GD32F330单片机定时器中断初始化后立即进入中断问题

    现象:通过插入硬件输出片段观察到定时器更新后10us左右进入了定时器中断,而该定时器设置中断时间为100us,明显不对原因:定时器使能时中断标志触发,允许
    发表于 12-02 16:06 20次下载
    <b class='flag-5'>关于</b>GD32F330单片机定时器<b class='flag-5'>中断</b>初始化后立即进入<b class='flag-5'>中断</b>问题

    MCU之TIMER精准延时(二)

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

    华芯微特MCU之TIMER触发ADC

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

    什么是中断响应次序?什么是中断处理次序?

    什么是中断响应次序?什么是中断处理次序? 中断响应次序和中断处理次序是计算机系统中非常重要的概念
    的头像 发表于 10-24 11:49 2290次阅读