1284740313 发表于 2012-7-26 21:05:20

小弟是初学51单片机有个问题请教下

关于单片机在模拟I2C总线通信时的写一个字节和读一个字节函数的问题
void writebyte(uchar date )
{
        uchar temp,i;
        temp=date;
        for(i=0;i<8;i++)
        {
                temp=temp<<1;
                SCL=0;
                delay0();
                SDA=CY;
                delay0();
                SCL=1;
                delay0();
        }
        SCL=0;
        delay0();
        SDA=1;
        delay0();
}
uchar readbyte()
{
        uchar i,k;
        SCL=0;
        delay0();
        SDA=1;
        for(i=0;i<8;i++)
        {
                SCL=1;
                delay0();
                k=(k<<)|SDA;
                SCL=0;
                delay0();
        }
        delay0();
        return k;
}

这每一行是什么意思,研究了很长时间还是有明白。
往指导下~

zyyn123 发表于 2012-7-26 21:12:41

楼主,百度个IIC协议看看你就明白了。

y574924080 发表于 2012-7-26 21:21:02

标题不能够说明帖子的内容,请楼主及时修改

要不就要扣分了

xdj0818 发表于 2012-7-26 21:26:08

下个I2C协议看下! 代码中的SCL,SDA是宏定义的引脚,模拟I2C的时序。

cqqwing 发表于 2012-7-27 22:51:41

只会用C ,这个问题不是很懂了, 大虾来
页: [1]
查看完整版本: 小弟是初学51单片机有个问题请教下