0.png (36.64 KB, 下載次數: 57)
下載附件
2018-6-27 03:49 上傳
本文以 STM32F1,F2,F3,F4為例(采用Cortex-M3,M4內核),內核支持中斷嵌套(最多可設置256個中斷優先級)。STM32只使用其中的16個優先級。 如圖 1所示,RTOS一般不會將優先級分組,但是會設置為 3類,優先級最低的中斷(級別15)由SysTick,PendSV所使用;中斷級別 8~14的服務程序可以調用內核提供的進程間通信函數,但是此類中斷服務程序會受到內核的影響,中斷響應可能被推遲(在進入臨界區后,CPU會設置為忽略為8~15的優先級中斷請求,但中斷控制器會鎖存這些請求,在告別臨界區后重新打開中斷便可立即產生中斷請求);級別0~7的中斷服務程序不使用內核提供的任何函數,即內核不會影響這些中斷,因此其中斷延遲時間是非常短的。
二. 中斷延遲的實例
1. 測試簡介
初始化GPIO PA0為 EXTI中斷,進入臨界區后按 PA0(中斷源),中斷不會即時響應,離開臨界區后此中斷會被響應。
0.png (37.34 KB, 下載次數: 58)
下載附件
2018-6-27 03:50 上傳
0.png (35.41 KB, 下載次數: 61)
下載附件
2018-6-27 03:50 上傳
完整的pdf格式文檔51黑下載地址:
STM32上RTOS的中斷管理.pdf
(198.29 KB, 下載次數: 8)
2018-6-25 12:47 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|