两个单片机之间进行模拟I2C通讯

2020-01-23 14:40发布

有大侠做过两个单片机之间进行I2C通信的吗?一般单片机端当主机用两条数据线去模拟i2c当主机读取外围的从设备比较简单,但单片机端模拟从机与另外一个单片机模拟I2C当主机进行通信就没搞过了,有人这么做过吗,能否贴出单片机端模拟从机的I2C协议代码,研究一下
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
25条回答
huhang
2020-01-24 19:59
void I2C_rxadd()
{
        u8 i,j,k=0;
        while(scl == 1);//µÈ´ýÖ÷»úÀ­µÍSCL
        for(i = 0 ;i < 8 ;i++)
        {
                while( ! scl);//SCL=0ʱ£¬Ò»Ö±µÈ´ý£¬SCL=1ʱ¶ÁÈ¡SDAÊý¾Ý£¬Ö÷»úSCLµÈÓÚ1±ØÐë±£³ÖÒ»¶¨µÄʱ¼ä³¤¶È£¬²ÅÄܱ£Ö¤¿É¿¿¶ÁÈ¡//µÈ´ýSCLÓÉ0±äΪ1
                if(sda == 1)
                        j = 1;
                else
                        j = 0;
                k=(k << 1) | j;                                                                        //½«ÊÕµ½µÄλ·ÅÈëKÖР 
                while(scl == 1);//SCL¸ßµçƽʱµÈ´ý SCL=0ʱ¸Ãλ¶ÁÈ¡Íê³É£¬×¼±¸¶ÁÈ¡ÏÂÒ»BIT
        }
        R_W=k&0x01;                                                                                        //Ö÷»úÊǶÁ»¹ÊÇд
        //DEV_address= (k >> 1) & 0x7f;                                                //Çó³öÇ°7λµÄÉ豸µØÖ·
        DEV_address = k;
}

一周热门 更多>