FreeRTOS学习笔记——FreeRTOS中断管理

精华总结:

中断优先级0为最高,任务优先级0为最低

中断优先级分组中为方便rtos管理4bit全部设置成抢占优先级

32单片机的中断管理是由3个寄存器完成(名字忽略,具体功能忽略),三个寄存器都是32bit,通过移位可操作设置寄存器上的bit位,比如可设置pendsv中断和systick中断优先级

最终,pendsv与systick被设置成15,pendsv与systick切换任务的时候不会影响到其它中断的触发(比如外部中断)

上面三个寄存器是设置中断优先级;还有三个寄存器用于屏蔽中断,freertos使用了寄存器BASEPRI用于中断屏蔽,为0x50代表关闭(也可以说屏蔽)5-15优先级的中断,为0代表不关闭(屏蔽)任何中断(就是这个寄存器规定了freertos只能控制5-15优先级的中断),如果为0x60,则就是6-15

1、中断优先级分组全部设置成抢占优先级->是为了方便freertos管理中断

即:HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);

2、你的中断优先级设置必须是5-15(当然也可以为0-4,但这样不受控了)

3、freertos只能控制5-15优先级的中断

4、0-4的中断因为rtos不可控,所以禁止0-4的中断调用rtos的api函数,因此设置抢占优先级必须≥5才行,如果你设置成了4则rtos控制不了则无法控制别人抢占你或者你抢占别人

什么是中断?

简介:让CPU打断正常运行的程序,转而去处理紧急的事件(程序),就叫中断

例:

中断执行机制,可简单概括为三步:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玄奕子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值