记录一些IIC接口的使用,IIC的驱动的编写,基于STM32代码的编写:
1.开始信号与停止信号
//开始信号
void I2C_Start(void)
{
SDA(1);
SCL(1); //空闲状态,scl和sda均为高电平
SDA(0); //在SCL高电平期间将SDA拉低,视为开始信号
SCL(0);
}
//停止信号
void I2C_Stop(void)
{
SDA(0);
SCL(1);
SDA(1); //在SCL高电平期间将SDA拉搞,视为停止信号
}
2.发送字节
//发送一个数据
void I2C_SendByte(uint8_t Byte)
{
uint8_t i;
for (i = 0; i < 8; i++)
{
SDA(Byte & (0x80 >> i)); //在SCL为低电平时发生数据的变化
SCL(1);
SCL(0);
}
SCL(1); //额外的一个时钟,不处理应答信号
SCL(0);
}