通信协议--IIC

2017-12-24  本文已影响0人  CoderDock

  IIC协议在Dock看来是最简单易懂的协议之一。本文介绍IIC协议的基础要点。

image.png

1.IIC基础要点

image.png image.png image.png

2 IIC的C实现

void Init()
{
    SCL = 1;
    delay();
    SDA = 1;
    delay();
}
void StartUp
{
    SCL = 1;
    SDA = 1;
    delay();
    SDA = 0;
    delay();
}
void End()
{
    SCL = 1;
    SDA = 0;
    delay();
    SDA = 1;
    delay();
}
void Transfer(int8_t i8Send)
{
    int32_t nIndex = 0;
    for(nIndex = 7; nIndex >= 0; nIndex++)
    {
        SCL = 0;
        SDA = (i8Send >> nIndex) & 0x01; //MSB方式进行发送
        delay();
        SCL = 1;                        //变为高电平,SLAVE短进行数据锁存
        delay();
    }
}
int8_t CheckAck()
{
    delay();
    if(SDA == 0)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读