1、起始信号start信号
SDA = 1; SCL = 1; SDA = 0; 在SCL为高电平的时候,SDA从高电平拉倒低电平---起始信号
由标准IIC时序-----start信号的保持时间0.6us
start信号的建立时间0.6us
由标准IIC时序-----start信号的保持时间0.6us
start信号的建立时间0.6us
02----2K位—256字节
AT24C02 时序接口就是IIC
IC总线靠什么来识别器件?---器件地址-----8位—地址为位7位 最低位用决定读还是写命令
void IIC_Start(void)
{
IIC2_SDA_OUT = 1;
IIC2_SCL = 1;
delay_us(1);//建立时间
IIC2_SDA_OUT = 0;
delay_us(1);//保持时间
}
写一个字节
具体流程:1、开始信号
2、器件地址+写 ?
3、等待应答
4、写数据的地址是什么地址??
5、等待应答
6、发送数据
7、等待应答
8、结束信号
void AT24C02_WriteByte(u8 writeaddr,u8 data)
{
IIC_Start();
IIC_WriteByte(AT24C02_DID+0);//器件地址+0 //这句话是干什么用的呢
IIC_WaitACK();
IIC_WriteByte(writeaddr);// ?????????????不太懂这个数据地址
IIC_WaitACK();
IIC_WriteByte(data);//数据
IIC_WaitACK();
IIC_Stop();
delay_ms(5);
} IIC_WriteByte(AT24C02_DID+0);//器件地址+0 //这句话是干什么用的呢#define AT24C02_DID 0XA0