stm32定時器中斷類型分析

  一直在用的stm32定時器的中斷都是TIM_IT_Update更新中斷,也沒問爲何,直到碰到有人使用TIM_IT_CC1中斷,纔想到這定時器的中斷類型究竟有什麼區別,都怪當時學習stm32的時候不夠精啊,百度很久也沒見有人解釋清楚,下面開始個人探究之路。下面是全部的定時器中斷類型。函數

#define TIM_IT_Update                      ((uint16_t)0x0001)
#define TIM_IT_CC1                         ((uint16_t)0x0002)
#define TIM_IT_CC2                         ((uint16_t)0x0004)
#define TIM_IT_CC3                         ((uint16_t)0x0008)
#define TIM_IT_CC4                         ((uint16_t)0x0010)
#define TIM_IT_COM                         ((uint16_t)0x0020)
#define TIM_IT_Trigger                     ((uint16_t)0x0040)
#define TIM_IT_Break                       ((uint16_t)0x0080)

 

 

 

 

 

 

 

  沒有頭緒,仍是去查看stm32數據手冊吧。學習

TIM_IT_Update:更新中斷,計數器向上溢出/向下溢出,計數器初始化(經過軟件或者內部/外部觸發) ui

TIM_IT_CC1~4:都是捕獲/比較中斷,貌似都是平等的,即輸入捕獲,輸出比較spa

TIM_IT_Trigger:觸發事件(計數器啓動、中止、初始化或者由內部/外部觸發計數)code

使用的時候都是調用函數TIM_ITConfig()來使能指定的中斷類型,調用TIM_GetITStatus()函數來查看是否有中斷髮生,入口參數都是平等的。blog

可能就是不一樣的事件致使中斷的發生略有不一樣事件

相關文章
相關標籤/搜索