求看看这段代码有什么语法错误

[复制链接]
 楼主| hceng 发表于 2013-12-17 22:29 | 显示全部楼层 |阅读模式
本帖最后由 hceng 于 2013-12-17 22:55 编辑

#define BIT1 0x01
#define BIT2 0x02

#define KeyShuIO P1

        KeyShuIO=0xfe;
        while(KeyShuIO&0x20!=0)
                {
            
                if(~KeyHenIO&BIT1){KeyCurrent|=BIT1+(~KeyShuIO)<<8;}
                if(~KeyHenIO&BIT2){KeyCurrent|=BIT2+(~KeyShuIO)<<8;}
                if(~KeyHenIO&BIT3){KeyCurrent|=BIT3+(~KeyShuIO)<<8;}
                if(~KeyHenIO&BIT4){KeyCurrent|=BIT4+(~KeyShuIO)<<8;}
                if(~KeyHenIO&BIT5){KeyCurrent|=BIT5+(~KeyShuIO)<<8;}
                if(~KeyHenIO&BIT6){KeyCurrent|=BIT6+(~KeyShuIO)<<8;}
                if(~KeyHenIO&BIT7){KeyCurrent|=BIT7+(~KeyShuIO)<<8;}
                if(~KeyHenIO&BIT8){KeyCurrent|=BIT8+(~KeyShuIO)<<8;}
                    KeyShuIO=KeyShuIO<<1|0x01;               
                 }
NE5532 发表于 2013-12-18 09:01 | 显示全部楼层
7层if是嵌套的?是不是太深了点?就是编译器认识,这样的代码也非常低效率。

评论

怎么能说是嵌套的啊?  发表于 2013-12-19 00:42
rocdove 发表于 2013-12-19 00:43 | 显示全部楼层
楼主的变量不全啊
lanqiao1026 发表于 2013-12-19 14:54 | 显示全部楼层
写成这样,看着头疼。
xiaox314 发表于 2013-12-21 09:17 | 显示全部楼层
:funk
diweo 发表于 2014-1-15 10:15 来自手机 | 显示全部楼层
语法上应该没错,不过优先级可能有问题.另外为什么不用switch?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

48

帖子

0

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