请选择 进入手机版 | 继续访问电脑版
搜索
查看: 940|回复: 0

[原创] 说说STM32的中断优先级与FreeRTOS的任务优先级

[复制链接]

该用户从未签到

4

主题

8

帖子

0

蝴蝶豆

初级会员

最后登录
2019-6-26
发表于 2019-6-6 15:51:58 | 显示全部楼层 |阅读模式
STM32的中断优先级需要先设定中断优先级分组,一般由如下的函数完成
  /* Set Interrupt Group Priority */
  HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);
此函数最终的结果是设定STM32的某个寄存器,不用理会是具体的那个寄存器。

下图为设定中断优先级分组后使用中断时可以设定的抢占优先级以及子优先级的具体情况,引自安富莱FreeRTOS教程。


FreeRTOS一般使用NVIC_PRIORITYGROUP_4这组优先级设置,因此中断可以设定为0~15的抢占优先级数值,数值越小,优先级越高。

FreeRTOS的任务优先级的数值与优先级级别的关系为:任务优先级的数值越小,优先级越低,即数值低的优先级任务能被数值高的优先级任务抢夺CPU资源,空闲任务的优先级数值为0


回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-3-29 22:14 , Processed in 1.170179 second(s), 29 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表