打印

怎么解决这种现象

[复制链接]
2721|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangzsa|  楼主 | 2011-4-9 22:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摁一次键,外部中断服务程序执行多次,原因是由于中断服务程序执行完后,按键还没有拉开,导致再一次进入中断
沙发
zhuww| | 2011-4-9 22:20 | 只看该作者
不要用外部中断做按键输入

使用特权

评论回复
板凳
zhanglli| | 2011-4-9 22:39 | 只看该作者
加延时不就好了。

使用特权

评论回复
地板
lium| | 2011-4-9 22:43 | 只看该作者
你按下时,程序进入中断处理后关掉中断,然后在主函数里面加一句判断:松手时再开外部中断

使用特权

评论回复
5
guoyt| | 2011-4-9 22:55 | 只看该作者
外部中断弄成下降沿有效不就行了?

使用特权

评论回复
6
yufe| | 2011-4-9 23:04 | 只看该作者
最好不要这样做,这样做按键消抖是个麻烦事情

使用特权

评论回复
7
wangzsa|  楼主 | 2011-4-9 23:12 | 只看该作者
外部中断弄成下降沿有效不就行了?
guoyt 发表于 2011-4-9 22:55
不行,下降沿还是会被执行多次

使用特权

评论回复
8
llia| | 2011-4-9 23:20 | 只看该作者
还是在中断里加个延时函数好点

使用特权

评论回复
9
wangpe| | 2011-4-9 23:27 | 只看该作者
在中断里延时最傻的做法,不仅解决不了你的问题,还把中断的优点了用成了缺点。
如果我一直按着这个键不放那你不就一直是死在那里了。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
XIANSir + 1
10
wangzsa|  楼主 | 2011-4-9 23:45 | 只看该作者
好的,不敢用了

使用特权

评论回复
11
mbutterfly| | 2011-4-10 00:58 | 只看该作者
2楼和我们经理一样的思路。不过为什么不可以?
外部中断比较快啊。而且这个看MCU的资源的,难道非要用定时器吗?定时器是好东西,干吗不留着慢慢用。

使用特权

评论回复
12
chunyang| | 2011-4-10 01:14 | 只看该作者
有时还是需要使用外中断来当按键的,比如按键唤醒等,可以在中断处理程序中加一个标志位或标志字节,退出中断时不要立刻使能中断,而是在主循环中根据标志是否有效来判断中断IO当前的状态,只有通过调用延时判断中断IO被释放后再开启中断使能,为下一次按键响应做准备。
流程:
中断服务程序:
XXX
XXX
设置状态寄存器
中断返回

主流程:
XXX
XXX
状态寄存器有效?
否则继续,是则调用键盘释放判断程序
XXX
XXX

键盘释放判断:
中断输入=0?
是则返回
否则延时(如果是多任务调度,可用其它任务的执行时间充当延时,具体思路见实时操作系统的任务调度机制)
再次判断
是则返回
否则清零状态寄存器并使能中断后返回。

使用特权

评论回复
13
xmdongd8899| | 2011-4-10 11:18 | 只看该作者
听说4.24要开武林大会,英雄帖己发往各处,7月份的武林大会在京城,届时将是各路英豪的盛宴,21IC有很多能人(能力很强的人),到时听这些实际搞开发的人的讲座,比在学校听老师讲过时东西一定要收获很多,有可能某个能人的观点会纠正你在大学期间建立起的错误观点,有可能你会见到比你年轻很多但武功比你高很多的人,这次武林大会,你会看到象菜农这样一等一的高手,也会看到春哥这样热心指点年青人的好心人........,没有盟主,天下武林一家人

使用特权

评论回复
14
xmdongd8899| | 2011-4-10 11:18 | 只看该作者
听说4.24要开武林大会,英雄帖己发往各处,7月份的武林大会在京城,届时将是各路英豪的盛宴,21IC有很多能人(能力很强的人),到时听这些实际搞开发的人的讲座,比在学校听老师讲过时东西一定要收获很多,有可能某个能人的观点会纠正你在大学期间建立起的错误观点,有可能你会见到比你年轻很多但武功比你高很多的人,这次武林大会,你会看到象菜农这样一等一的高手,也会看到春哥这样热心指点年青人的好心人........,没有盟主,天下武林一家人

使用特权

评论回复
15
cmy043| | 2011-4-10 11:42 | 只看该作者
学习  学习!!

使用特权

评论回复
16
yangyu050500| | 2011-4-10 12:41 | 只看该作者
看看先:(

使用特权

评论回复
17
wangzsa|  楼主 | 2011-4-10 12:55 | 只看该作者
多谢几位大侠

使用特权

评论回复
18
suqiusen202| | 2011-4-10 14:00 | 只看该作者
学习来的

使用特权

评论回复
19
ttlasong| | 2011-4-10 15:06 | 只看该作者
:P

使用特权

评论回复
20
kymcu51| | 2011-4-10 17:02 | 只看该作者
有电平中断和下降沿中断,选择下

使用特权

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

本版积分规则

914

主题

9040

帖子

5

粉丝