为什么我的按键中断在程序启动的时候总自动进入

hbbyq111   2010-4-28 08:59 楼主
为什么我的按键中断在程序启动的时候总自动进入,不是按下按键以后,而是程序一运行的时候就自动进入中断函数,请问这是什么原因呢?

回复评论 (11)

那你测试一下你的中断端口的电平吧,是不是一直为低。不排除硬件的问题
点赞  2010-4-28 10:23
按键中断 用的是外部中断吧?  尝试接一个上拉电阻。
点赞  2010-4-28 10:36
硬件复位时IO口也会复位的,楼主是不是没有在电路上确定一个稳定的初始状态?如#2楼所述。
点赞  2010-4-28 11:14
按键中断用的方法是检测引脚的电平变化,接上拉电阻不会了,只能我们软件这里解决。
点赞  2010-4-28 11:16
引用: 引用 4 楼 liyp254522896 的回复:
按键中断用的方法是检测引脚的电平变化,接上拉电阻不会了,只能我们软件这里解决。


你可以用示波器查看。
电平变化不奇怪,你能保证复位后的电平和你初始化IO口后的电平一致吗?如果不是,跳变自然产生了。。。
点赞  2010-4-28 11:32
引用: 引用 3 楼 kevinyujm 的回复:

硬件复位时IO口也会复位的,楼主是不是没有在电路上确定一个稳定的初始状态?如#2楼所述。

不是说复位的时候I/O口是不会变的么..
点赞  2010-4-28 12:40
估计楼主是电平中断方式,应该是初始化电平的问题,你可以给它个固定电平。或者改成沿中断方式。
点赞  2010-4-28 13:13
初始化时开机先设置好端口的状态再开中断!
点赞  2010-4-28 14:14
引用: 引用 8 楼 galle 的回复:
初始化时开机先设置好端口的状态再开中断!
点赞  2010-4-28 17:35
问题是解决了,不过我不懂原因。我就在中断初始化那里加了个读端口的函数,为什么就不会自动进入中断了呢?
点赞  2010-4-29 08:47
引用: 引用 10 楼 liyp254522896 的回复:
问题是解决了,不过我不懂原因。我就在中断初始化那里加了个读端口的函数,为什么就不会自动进入中断了呢?


应该是锁存吧。。。你没锁存IO初始状态就开中断了吧。。
这个还是属于初始化的问题。
点赞  2010-4-29 13:20
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复