今天发现在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的开发板,疑问中。。。 |
|