if else

[复制链接]
1855|0
 楼主| 奋斗1986 发表于 2011-10-21 14:55 | 显示全部楼层 |阅读模式
今天发现在ADS下不能用下面的这种语句
if(ucKeyValue&(1<<0))rGPBDAT&=0X7DF;
else        if(ucKeyValue&(1<<1))rGPBDAT&=0X7BF;
else        if(ucKeyValue&(1<<2))rGPBDAT&=0X77F;
else        if(ucKeyValue&(1<<4))rGPBDAT&=0X6FF;
但是用下面的表达方法就可以,
if(ucKeyValue&(1<<0))rGPBDAT|=0x1e0;
else        rGPBDAT&=0X7DF;
if(ucKeyValue&(1<<1))rGPBDAT|=0x1e0;
else        rGPBDAT&=0X7BF;
if(ucKeyValue&(1<<2))rGPBDAT|=0x1e0;
else        rGPBDAT&=0X77F;
if(ucKeyValue&(1<<4))rGPBDAT|=0x1e0;
else        rGPBDAT&=0X6FF;
不知道为什么,在单片机中上面的两种表达方法都是可以的,为什么在ARM里面就不行了呢?我用的是TTQ2440的开发板,疑问中。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

5

帖子

1

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