[STM32F4] STM32F4如何使用抢占优先级和子优先级?

[复制链接]
1590|13
 楼主| elephant00 发表于 2024-2-26 15:36 | 显示全部楼层 |阅读模式
我在使用基于ARM的微控制器但是我不明白subpriority和preeemptionpriority。例如:
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x00;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x01;
为什么要使用这些?
lamanius 发表于 2024-2-29 22:32 | 显示全部楼层
这种优先级来说,一般抢占比子优先级还高
q1d0mnx 发表于 2024-2-29 22:59 | 显示全部楼层
我觉得要是同级抢占就是设置子优先级,如果是嵌套的话,就是抢占优先级
y1n9an 发表于 2024-2-29 23:33 | 显示全部楼层
一般建议楼主看看正点原子的例程,上面都有很细致的讲解的
一只眠羊 发表于 2024-3-15 22:25 | 显示全部楼层
在STM32F4系列微控制器中,抢占优先级和子优先级是用于管理中断优先级的重要概念
未说出口的像你 发表于 2024-3-16 01:00 | 显示全部楼层
其实,这些优先级可以帮助你确定在发生多个中断时,哪个中断会被优先处理
月亮一键变蓝 发表于 2024-3-16 03:00 | 显示全部楼层
抢占优先级和子优先级是通过NVIC(Nested Vectored Interrupt Controller)寄存器进行配置的
我吃小朋友 发表于 2024-3-16 05:00 | 显示全部楼层
首先,需要选择中断优先级组。在STM32F4中,中断优先级可以分为4位抢占优先级和0位子优先级,或者3位抢占优先级和1位子优先级。你可以通过调用NVIC_PriorityGroupConfig()函数来选择中断优先级组
在曼谷的春 发表于 2024-3-16 07:00 | 显示全部楼层
你可以使用NVIC_Init()函数来设置特定中断的抢占优先级和子优先级。抢占优先级和子优先级的位数取决于你选择的中断优先级组。
她已醉 发表于 2024-3-16 09:00 | 显示全部楼层
正常来说就是抢占比子优先级高,就知道这个就可以了
春日负喧 发表于 2024-3-16 13:00 | 显示全部楼层
这种是为了让你程序更加灵活啊
白马过平川 发表于 2024-3-16 15:00 | 显示全部楼层
中断其实可以理解为类似于操作系统一样的线程操作
风凉 发表于 2024-3-16 19:00 | 显示全部楼层
我觉得优先级这个东西确实有意义,开发程序的时候很容易
捧一束彼岸花 发表于 2024-3-16 22:00 | 显示全部楼层
存在即合理,你就学就完事儿了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1031

主题

3946

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部