IIC——集成电路总线
两条线:一条串行数据线SDA,一条串行时钟线SCL,半双工
连接到总线的器件可通过唯一的地址和其它器件通信,主/从机角色和地址可配置
下面直接上IIC通信协议代码:
起始条件:SCL为高,SDA由高到低,两个IO口初始化时均配置为推挽输出
#define SDA_PORT GPIOA
#define SDA 8
#define SCL_PORT GPIOA
#define SCL 1
#define IIC_WATI 5
void IIC_Start()
{
gpio_out_low(SCL);
gpio_out_high(SDA);
delay_us(IIC_WATI);
gpio_out_high(SCL);
delay_us(IIC_WATI);
gpio_out_low(SDA);
delay_us(IIC_WATI);
gpio_out_low(SCL);
delay_us(IIC_WATI);
}
结束条件:SCL为高,SDA由低到高
void IIC_Stop()
{
gpio_out_low