i2c总线 读取数据时byte《=1这个移位语句为什么不能在if(SDA == 1) {byte |= 0x01; } 语句后面呢。
unsignedcharI2CRead(void){unsignedcharbyte,i;byte=0;for(i=0;i<8;i++){SCL=0;SDA=1;Dela...
unsigned char I2CRead(void)
{
unsigned char byte, i;
byte = 0;
for(i = 0; i < 8; i++)
{
SCL = 0;
SDA = 1;
Delay();
SCL = 1;
Delay();
byte <<= 1;
if(SDA == 1) {byte |= 0x01; }
Delay();
}
SCL = 0;
SDA = 1;
Delay();
SCL = 1;
Delay();
SCL = 0;
return byte;
}
请高手解释一下。 展开
{
unsigned char byte, i;
byte = 0;
for(i = 0; i < 8; i++)
{
SCL = 0;
SDA = 1;
Delay();
SCL = 1;
Delay();
byte <<= 1;
if(SDA == 1) {byte |= 0x01; }
Delay();
}
SCL = 0;
SDA = 1;
Delay();
SCL = 1;
Delay();
SCL = 0;
return byte;
}
请高手解释一下。 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询