[STM32F4]

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

[复制链接]
235|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 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 | 显示全部楼层
存在即合理,你就学就完事儿了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

914

主题

2368

帖子

4

粉丝