OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3189|回复: 3

求助:stm32F4 中断优先级0无法抢占的问题

[复制链接]
回帖奖励 12 金钱 回复本帖可获得 3 金钱奖励! 每人限 1 次(中奖概率 30%)

1

主题

3

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2015-10-8
在线时间
1 小时
发表于 2019-1-24 17:41:03 | 显示全部楼层 |阅读模式
本帖最后由 751023618 于 2019-1-27 17:47 编辑

使用F407遇到一个抢占优先级的问题:
现设置优先级分组 HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);也就是15个优先级分组。按照手册说明0抢占优先级具有最高优先级别。
现在我使用两个定时器:
        1)TIM2设置优先级为0,TIM4设置优先级为1
        2)若先启动TIM4,延时一下再启动TIM2(为了先触发定时器4中断),现象为:TIM2无法抢占。
        3)若先启动TIM2,则TIM4也无法抢占中断。

再次实验其他优先级:
        1)TIM2设置优先级为1,TIM4设置优先级为2
        2)若先启动TIM4,延时一下再启动TIM2(为了先触发定时器4中断),现象为:TIM2成功抢占。

再次实验:
        1)TIM2设置优先级为0,TIM4设置优先级为15
        2)若先启动TIM4,延时一下再启动TIM2(为了先触发定时器4中断),现象为:TIM2无法抢占。
        
总结现象:
        1)实验现象证明0优先级确实无法被抢占
        2)0优先级无法抢占其他优先级,无法形成中断嵌套。
疑问:
        优先级为0的中断不具备抢占能力吗?

注:下图是我使用0优先级以上实现了抢占的波形图:
紫色优先级3,蓝色2,黄色1,三个中断执行同样的任务,黄色最先执行完毕,证明可以实现抢占,但是将黄色设置为0则黄色抢占失败。
tek00000.png

设置紫色优先级3,蓝色2,黄色0后,发现黄色未能抢占,如图:
tek00000.png


望各位帮忙解答,手册上未找到答案。
祝好!





正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2015-10-8
在线时间
1 小时
 楼主| 发表于 2019-1-27 17:48:18 | 显示全部楼层
请大神们关注解答啊!
回复 支持 反对

使用道具 举报

0

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
182
金钱
182
注册时间
2018-12-15
在线时间
33 小时
发表于 2019-1-28 13:58:16 | 显示全部楼层
顶顶顶顶顶顶
回复 支持 反对

使用道具 举报

8

主题

182

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
421
金钱
421
注册时间
2017-3-8
在线时间
114 小时
发表于 2019-1-29 10:05:16 | 显示全部楼层
顶一下,等大神来解答
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 14:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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