#FreeRTOS中断管理简介

中断优先级分组设置

freertos 采用组4 全部0-15个抢占优先级,0个子优先级

低于configMAX_SYSCALL_INTERRUPT_PRIORITY(这个值是5)优先级的中断才允许调用FreeRTOS的API函数

中断优先级越小越优先,任务优先级越大越优先。

中断相关的寄存器

SHPR1
SHPR2
SHPR3
中断可以打断任务,任务不可以打断中断
PRIMASK :只有一位的寄存器,把他置1时关掉所有可屏蔽的异常,只有NMI和fault可以响应。
FAULTMASK:只有一位的寄存器,把他置1时只有NMI能响应其他异常和中断和fault全部关闭
BASEPRI : 9位寄存器(由表达优先级的位数决定)。被设置位某值时,优先级号大于等于此值的中断都被关闭(低优先级中断被关闭),若设置为0不关闭任何中断

中断优先级在FreeRTOS的管理范围内

建议优先级分组4

FreeRTOS用BASEPRI 来管理

你可能感兴趣的:(freeRTOS,stm32)