单片机中断无法响应问题,求大神回答

[复制链接]
 楼主| puppet21 发表于 2013-9-17 15:22 | 显示全部楼层 |阅读模式
代码出现了一点很奇怪的问题,就是如果buttonin按下后,响应了buttonin后,这时候再按下button2,就不再执行button2里面的代码了,而且再按buttonin也没有反应。如果先按button2,再按buttonin,buttonin依然能够响应,但再按button2,也就都没法响应,请问这是怎么回事?
主函数代码
        while(1)
        {           
                         if(buttonin == 1)
           {
           buttonin = 0 ;
           sendcontrol(1,0x11)        ;               
           }
          
           if(button2 == 1)
           {
                  sendcheck(2);
                  button2 = 0 ;
           }
        }
两个中断代码;
void room_INT2() interrupt 2
{
        button2 = 1 ;
}

void room_INT0() interrupt 0
{
    buttonin = 1 ;
}

以前也出现过类似问题,但没在意,但这次要反复发送数据,
 楼主| puppet21 发表于 2013-9-17 15:24 | 显示全部楼层
中断函数还是能响应的,但是main函数不执行!!求解
y651503148 发表于 2013-9-17 15:29 | 显示全部楼层
中断标志位清零。
NE5532 发表于 2013-9-17 15:37 | 显示全部楼层
什么单片机?中断标志是否需要人工清除?两个中断有没有优先级?
逍遥派掌门 发表于 2013-9-17 15:53 | 显示全部楼层
本帖最后由 逍遥派掌门 于 2013-9-17 15:56 编辑

应该是 sendcontrol(1,0x11) 和 sendcheck(2) 乱搞了什么,

极有可能是:  你打他一耳光,他打你一耳光,然后两人都晕倒了。

还有可能:     两人只会打转转,就是不懂得跑到终点。
ayb_ice 发表于 2013-9-17 16:38 | 显示全部楼层
逍遥派掌门 发表于 2013-9-17 15:53
应该是 sendcontrol(1,0x11) 和 sendcheck(2) 乱搞了什么,

极有可能是:  你打他一耳光,他打你一耳光, ...

极有可能
 楼主| puppet21 发表于 2013-9-17 17:40 | 显示全部楼层
嘿嘿~!问题解决了~是卡在死循环里了,因为有一个判断语句的符号优先级我没注意,结果永真,然后就死循环了~
 楼主| puppet21 发表于 2013-9-17 17:40 | 显示全部楼层
谢谢各位啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

140

帖子

0

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