当前位置:   article > 正文

10:HAL---高级定时器_高级定时器重复计数器

高级定时器重复计数器

前言:

        高级定时器具有通用定时器的所有功能,我们在这里面只说它不一样的地方。(通用定时器不具备的功能)

一:高级定时器

1:介绍

2:重复计数器

        在我们普通的定时器中当CNT=CCR时直接发生溢出。然而我们的高级定时器多了一个重复计数器。

3:中断源

中断号的选择

STM32微控制器的中断向量表中,你会看到很多与TIM1(定时器1)相关的中断处理程序(IRQHandler)的条目。这些处理程序对应于TIM1的不同中断源。根据你提供的内容,我们可以逐一解释这些中断并讨论如何选择它们:

  1. TIM1_BRK_IRQHandler
    • 描述:这个处理程序用于处理TIM1的断点中断。当定时器达到预定义的断点值时,这个中断会被触发。
    • 用途:通常用于安全相关的应用,比如当某个条件满足时,需要立即停止定时器或执行某些安全操作。
  2. TIM1_UP_IRQHandler
    • 描述:这个处理程序用于处理TIM1的更新中断。当定时器计数达到其重载值(即一个周期完成)时,这个中断会被触发。
    • 用途:通常用于需要周期性执行的任务,如PWM信号的产生、定时任务等。
  3. TIM1_TRG_COM_IRQHandler
    • 描述:这个处理程序用于处理TIM1的触发和换向中断。这通常与外部触发事件或电机控制中的换向操作相关。
    • 用途:在电机控制或其他需要外部触发或换向的应用中使用。
  4. TIM1_CC_IRQHandler
    • 描述:这个处理程序用于处理TIM1的捕获比较中断。当定时器的当前计数值与某个比较寄存器匹配时,这个中断会被触发。
    • 用途:用于精确的时间测量(输入捕获)或生成复杂的PWM信号(输出比较)。

4:互补死区

不能同时为高电平

5:死区时间计算

6:刹车

二:功能配置

1:输出PWM实验

注意:MOE默认为0。 

 A:HAL配置

HAL_TIM_GenerateEvent(&g_timx_npwm_chy_handle, TIM_EVENTSOURCE_UPDATE);

通过软件产生事件,我们这里面选跟新事件 

          调用这个函数的一个常见原因是为了立即触发定时器的更新事件,而不是等待定时器自然溢出。这对于需要立即应用新的PWM参数或更改定时器的状态特别有用。例如,如果你在代码中更改了PWM的占空比或频率,并希望这些更改立即生效,你可以调用这个函数来强制定时器更新其状态。

2:刹车和死区 

 

三:代码

按下为高电平

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/739187
推荐阅读
相关标签
  

闽ICP备14008679号