打印
[技术问答]

大家都来找BUG,找到有奖噢

[复制链接]
1283|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
niuyaliang|  楼主 | 2014-6-20 18:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 niuyaliang 于 2014-6-22 10:09 编辑

#define                Get_Key_Port()              ((P1&0x7C)>>2)|((P5&0x10)<<1)//扫描所有的按键口        
现在已知Get_Key_Port()读取的一直为0x3F,那么下列语句
   if(Get_Key_Port() == 0x3E)//表明有按键弹起时
                        {
    TX1_write2buff(8);
                        }
请问这条语句TX1_write2buff(8);会不会被执行呢?

沙发
ar_m_cu| | 2014-6-20 19:50 | 只看该作者
必须不能啊,3E和3F

使用特权

评论回复
板凳
gxliu08| | 2014-6-20 22:46 | 只看该作者
E和F两个键差的距离挺远,这BUG是人造的吧?

使用特权

评论回复
地板
coslight| | 2014-6-21 08:07 | 只看该作者
硬件没问题,感觉软件没啥问题啊,楼主现在有解了吗

使用特权

评论回复
5
slotg| | 2014-6-21 10:30 | 只看该作者
当 P1.2 拉低时, 就会被执行

使用特权

评论回复
6
niuyaliang|  楼主 | 2014-6-22 10:14 | 只看该作者
@ar_m_cu @gxliu08 @coslight @slotg
((P1&0x7C)>>2)|((P5&0x10)<<1)
由于这句最外层没加大括号,导致一直执行
TX1_write2buff(8)

使用特权

评论回复
7
骗子的片子| | 2014-6-22 13:43 | 只看该作者
你这是故意搞得吧

使用特权

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

本版积分规则

212

主题

2427

帖子

7

粉丝