STM32-F7:TIM1的4个中断有什么功能?怎么用

2019-07-20 08:07发布

我们在 stm32f767xx.h 可以找到TIM1的4个中断:

  TIM1_BRK_TIM9_IRQn               = 24,     /*!< TIM1 Break interrupt and TIM9 global interrupt                    */
  TIM1_UP_TIM10_IRQn               = 25,     /*!< TIM1 Update Interrupt and TIM10 global interrupt                  */
  TIM1_TRG_COM_TIM11_IRQn     = 26,     /*!< TIM1 Trigger and Commutation Interrupt and TIM11 global interrupt */
  TIM1_CC_IRQn                         = 27,     /*!< TIM1 Capture Compare Interrupt                                    */

在 startup_stm32f767xx.s 中可以找到与之对应的中断服务函数

                DCD     TIM1_BRK_TIM9_IRQHandler          ; TIM1 Break and TIM9                  
                DCD     TIM1_UP_TIM10_IRQHandler          ; TIM1 Update and TIM10                 
                DCD     TIM1_TRG_COM_TIM11_IRQHandler     ; TIM1 Trigger and Commutation and TIM11
                DCD     TIM1_CC_IRQHandler                ; TIM1 Capture Compare                                   

请问除了TIM1_UP_TIM10_IRQn 之外的3个中断是什么意思,有什么功能,怎么用,在什么地方可以找到这些中断的说明?
特别想知道,他们的触发条件是什么,也就是说,如何才能进入中断服务函数。






友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
正点原子
1楼-- · 2019-07-20 11:11
注释已经很明了了。
1,是Break 中断
2,是溢出中断
3,是TRG触发中断
4,是捕获中断。
lichome
2楼-- · 2019-07-20 15:55
 精彩回答 2  元偷偷看……
lichome
3楼-- · 2019-07-20 16:03
解决了

首先使能TIMx_DIER的BIE[7]位
将TIMx_EGR的BG[7]位值1,则进入 TIM1_BRK_TIM9_IRQHandler 中断函数
进入中断函数后 须立即清除TIMx_SR的BIF[7]位,否则会在下一周期再次进入函数,形成锁死状态。

另外的几个类似。

一周热门 更多>