I2C总线传输 当读取数据是为什么要与0x80 (小白问)
时间:10-02
整理:3721RD
点击:
I2C总线传输 当读取数据是为什么要与0x80 (小白问)
IIC每次传一位,并且是高位传输的,&0x80相当于判断最高位是1还是0.
unsigned char I2cReadByte()
{
unsigned char a=0,dat=0;
SDA=1; //起始和发送一个字节之后SCL都是0
Delay10us();
for(a=0;a<8;a++)//接收8个字节
{
SCL=1;
Delay10us();
dat<<=1;
dat|=SDA;
Delay10us();
SCL=0;
Delay10us();
}
return dat;
}
我知道 dat|=sda 什么意思 如果想改成&0x80 应该怎么该?
我看错了,接收一般不&0x80,发送才是&0x80