IIC总线问题

2019-07-20 16:23发布

u8 IIC_Read_Byte(unsigned char ack)
{
        unsigned char i,receive=0;
        SDA_IN();
    for(i=0;i<8;i++ )
        {
        IIC_SCL=0;
        delay_us(2);
                IIC_SCL=1;
        receive<<=1;
        if(READ_SDA)receive++;   
                delay_us(1);
    }                                         
    if (!ack)
        IIC_NAck();
    else
        IIC_Ack();
    return receive;
}
为什么要设置receive这个量,他有什么用?


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
Da Wen
1楼-- · 2019-07-20 18:41
receive就是你读到的字节
转世书生
2楼-- · 2019-07-20 22:29
Da Wen 发表于 2017-3-10 14:55
receive就是你读到的字节

这里面用到了什么算法啊,我刚刚换算成二进制循环了8次果然是收到的字节
Da Wen
3楼-- · 2019-07-21 01:11
转世书生 发表于 2017-3-10 15:04
这里面用到了什么算法啊,我刚刚换算成二进制循环了8次果然是收到的字节

一个Byte8位,每次接收一位,高位在前

一周热门 更多>