首先我們需要知道什么是中斷優先級:中斷優先級是CPU響應中斷的先后順序
中斷優先處理的原則是:
- 先響應優先級高的中斷請求,再響應優先級低的中斷請求。
- 如果一個中斷請求己被響應,同級的其他中斷請求將被禁止。
- 如果同級的多個中斷請求同時出現
中斷優先級是CPU響應中斷的先后順序。中斷優先處理的原則是:
- 先響應優先級高的中斷請求,再響應優先級低的中斷請求。
- 如果一個中斷請求己被響應,同級的其他中斷請求將被禁止。
- 如果同級的多個中斷請求同時出現,CPU則按單片機內部的自然優先級順序響應各中斷請求。
單片機內部自然優先級順序(由高到低)為:
外部中斷0→定時器0中斷→外部中斷l→定時器1中斷→串行接口中斷
中斷優先級的配置:
首先,對STM32中斷進行分組,組0-4.同時,對每個中斷設置一個搶占優先級和一個響應優先級
搶占優先級和響應優先級的區別
高優先級的搶占優先級是可以打斷正在進行的低搶占優先級中斷的。
搶占優先級相同的中斷,高響應優先級不可以打斷低響應優先級的中斷。
搶占優先級相同的中斷,當兩個中斷同時發生的情況下,哪個響應優先級高,哪個先執行。
如果兩個中斷的搶占優先級和響應優先級都是一樣的話,則看哪個中斷先發生就先執行。
使用講解 :
實際在使用中我們可以根據實際情況設置相應的優先級分組。
特別注意:一個程序代碼里只能有一個中斷優先級分組,存在多個 優先級分組可能會導致程序出現奇奇怪怪的錯誤!
-
單片機
+關注
關注
6042文章
44617瀏覽量
637584 -
cpu
+關注
關注
68文章
10901瀏覽量
212676 -
中斷優先級
+關注
關注
0文章
22瀏覽量
9393
發布評論請先 登錄
相關推薦
評論