微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > I2C总线传输 当读取数据是为什么要与0x80 (小白问)

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top