[应用相关] 中断嵌套

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

结贴了,多谢大家讨论这么多哈,呵呵
paotangsan 发表于 2019-5-9 13:38 | 显示全部楼层
连中断都不进去吗
wowu 发表于 2019-5-9 14:05 | 显示全部楼层
确认第三个中断事件发生了?
xiaoqizi 发表于 2019-5-9 14:07 | 显示全部楼层
既然能 那就有可能是干扰了
木木guainv 发表于 2019-5-9 14:17 | 显示全部楼层
跑系统试试呢
蝴蝶泉2018 发表于 2019-5-9 17:10 | 显示全部楼层
通常按键检测在几十毫秒到两百毫秒内确定稳定状态,所以去抖动是必须要做的。否则没有嵌套也会发生这样的不灵敏的情况。最好还要加上判断释放,这样按起来才会自如。至于嵌套是否影响时间,大致估算一下就好。此外,一般除了低功耗唤醒之外(当然唤醒后再扫描就更稳定),周期扫描按键IO就足够了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

728

主题

8464

帖子

6

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