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:更新中斷,計數器向上溢出/向下溢出,計數器初始化(通過軟件或者內部/外部觸發) 

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

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

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

可能就是不同的事件導致中斷的發生略有不同

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM