STM32的中斷分組究竟是個什麼東西?
轉載---------
作者:匿名使用者
連結:https://www.zhihu.com/question/36778342/answer/70571778來源:知乎
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。
STM32的中斷向量具有兩個屬性,一個是搶佔屬性,一個是響應屬性,其屬性編號越小,表明它的優先順序越高。搶佔屬性,是指打斷其它中斷的屬性,具有這個屬性會出現巢狀中斷(在執行中斷服務函式A的過程中被中斷B打斷,執行完中斷服務函式B再繼續執行中斷服務函式A)。響應屬性,應用在搶佔屬性相同的情況下,當兩個中斷向量的搶佔優先順序相同時,如果兩個中斷同時到達,則先處理優先順序高的中斷;但如果不是同時到達,即使後來的中斷的響應優先順序高,也不能打斷正在執行的中斷。子優先順序就是響應優先順序。中斷分組,是按照搶佔優先順序和響應優先順序的分配方式分為不同的五組。因為搶佔優先順序和響應優先順序的數量由一個4位的數字決定,所以只可以配置=16種中斷向量的優先順序,4位數字有五種分配方式:第0組:所有4位用來配置響應優先順序。即16種中斷向量的響應優先級別都不相同第1組:最高1位用來配置搶佔優先順序,低3位用來配置響應優先順序。即有=2種級別的搶佔優先順序(0級和1級),有=8種級別的響應優先順序。16種中斷向量中,有8種中斷的搶佔優先順序為0級,響應優先順序為0~7,;有8種中斷的搶佔優先順序為1級,響應優先順序為0~7。第2組:2位用來配置搶佔優先順序,2位用來配置響應優先順序。即有=4種搶佔優先順序,有=4種響應優先順序。第3組:高3位用來配置搶佔優先順序,最低1位用來配置響應優先順序。即有=8種搶佔優先順序,2種響應優先順序。第4組:所有4位用來配置搶佔優先順序。16種中斷向量有16種不同的搶佔優先順序,沒有響應屬性。