[STM32F1] 中断嵌套

[复制链接]
1933|25
 楼主| zhuhuis 发表于 2021-4-1 20:58 | 显示全部楼层 |阅读模式
我现在遇到一个很棘手的问题是有关中断嵌套的,我做了一个测试程序,有三个中断,分别是中断1,中断2,中断3.中断2,3嵌套在中断1中。中断2,3的抢占优先级相同,响应优先级中断2高于中断3.中断1的抢占优先级最低。现在经过嵌套之后中断2,3正常工作,但是中断1就不能正常工作了,就如中断1服务程序中有一个通过判定一个按键的IO口状态来控制一个菜单的进入或者退出,但是现在按键按下去会出现时有效时而无效的现象,常常需要按好几次按键才能进入或者退出菜单。这是什么原因导致的阿,希望大家能够指点指点
huwr 发表于 2021-4-1 21:00 | 显示全部楼层
还是模拟一下,看是那边变量被串改了
dengdc 发表于 2021-4-1 21:03 | 显示全部楼层
是否中断2,3太频繁了?仿真看下
happy_10 发表于 2021-4-1 21:04 | 显示全部楼层
抢占优先级的问题就是让人头疼
bqyj 发表于 2021-4-1 21:06 | 显示全部楼层
为何还要搞这么复杂的潜逃,研究一下方法,统筹规划,合理一点搞。
wenfen 发表于 2021-4-1 21:08 | 显示全部楼层
通过按键做外部中断的话,抖动的问题好好的处理一下
songqian17 发表于 2021-4-1 21:10 | 显示全部楼层
如果嵌套过于频繁,需要在嵌套的中断中也判断一下按键。这样就好了。判断按键的代码需要精炼一些
chenho 发表于 2021-4-1 21:12 | 显示全部楼层
应该是按键抖动导致异常
zwll 发表于 2021-4-1 21:14 | 显示全部楼层
设置抢占优先级,什么项目需要这么多中断,可以用操作系统了。
chuxh 发表于 2021-4-1 21:15 | 显示全部楼层

搞这么复杂,我说只要一个发生中断,其他的全部停掉。
zhenykun 发表于 2021-4-1 21:17 | 显示全部楼层
连中断都不进去吗
wyjie 发表于 2021-4-1 21:20 | 显示全部楼层
确认第三个中断事件发生了?
yszong 发表于 2021-4-1 21:22 | 显示全部楼层
既然能 那就有可能是干扰了
juventus9554 发表于 2021-4-1 21:24 | 显示全部楼层
跑系统试试呢
jlyuan 发表于 2021-4-1 21:28 | 显示全部楼层
通常按键检测在几十毫秒到两百毫秒内确定稳定状态,所以去抖动是必须要做的
stly 发表于 2021-4-1 21:29 | 显示全部楼层
否则没有嵌套也会发生这样的不灵敏的情况
llljh 发表于 2021-4-1 21:33 | 显示全部楼层
最好还要加上判断释放,这样按起来才会自如
supernan 发表于 2021-4-1 21:33 | 显示全部楼层
一般出和入是成对使用的。
pengf 发表于 2021-4-1 21:35 | 显示全部楼层
至于嵌套是否影响时间,大致估算一下就好
xxrs 发表于 2021-4-1 21:38 | 显示全部楼层
一般除了低功耗唤醒之外,周期扫描按键IO就足够了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

728

主题

8464

帖子

6

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