001 FreeRTOS中斷配置

2021-10-01 16:47:49 字數 837 閱讀 6098

(一)優先順序看:022_stm32中斷優先順序分組解析

(二)freertos的中斷配置中沒有處理亞優先順序(響應優先順序)的情況,所以只能配置成組4,16個都為搶占優先順序

(三)此巨集用來設定 mcu 使用幾位優先順序,stm32 使用的是 4 位,因此此巨集為 4! 2^4=16,那麼就有16個優先順序

#define configprio_bits               4
(四)設定系統的優先順序。最低優先順序就是15,系統能管理的最高優先順序是5,也就是說小於5的優先順序freertos不能管理

#define configlibrary_lowest_interrupt_priority 15 

//中斷最低優先順序

#define configlibrary_max_syscall_interrupt_priority 5

//系統可管理的最高中斷優先順序

(五)關中斷和開中斷,vportraisebasepri() 是 向 寄 存 器 basepri 寫 入 巨集configmax_syscall_interrupt_priority ,那 麼 優 先 級 低 於configmax_syscall_interrupt_priority 的中斷就會被遮蔽!

#define portdisable_interrupts()  vportraisebasepri()    

/*關中斷*/

#define portenable_interrupts() vportsetbasepri(0)     

/*開中斷*/

FreeRTOS 中斷配置和臨界段

中斷遮蔽暫存器 primask faultmask和basepri 1.primask 這是個只有1個位的暫存器。當它置1時,就關掉所有可遮蔽的異常,只剩下 nmi和硬fault可以響應。它的預設值是0,表示沒有關中斷 2.faultmask 這是個只有1個位的暫存器。當它置1時,只有nmi才能響應...

FreeRTOS中斷管理

異常與中斷的基本概念 異常是導致處理器脫離正常執行轉向執行特殊 的任何事件,如果不及時進行處理,輕則系統出錯,重則會導致系統毀滅性癱瘓。所以正確地處理異常,避免錯誤的發生是提高軟體魯棒性 穩定性 非常重要的一環,對於實時系統更是如此。異常是指任何打斷處理器正常執行,並且迫使處理器進入乙個由有特權的特...

FreeRTOS中斷測試

configmax syscall interrupt priority 高於此優先順序的中斷,不能被禁止 ifdef nvic prio bits define configprio bits nvic prio bits else define configprio bits 4 endif d...