刚用51单片机IO进行模拟IIC对AT2402进行读写操作
发现写入123456
实际上只写入了103050
最后,fa发现,,,,时序问题,,,,太快了,要等待,,,,,,,,
读函数,延时必不可少!针对51单片机晶振11.05926MHZ
void AT24C02_Read(unsigned char ReadAddr,unsigned char *pBuffer,unsigned char NumToRead)
{
while(NumToRead)
{
*pBuffer++=At24c02Read(ReadAddr++);
delay(500);
NumToRead--;
}
}
写函数
延时必不可少!
void AT24C02_Write(unsigned char WriteAddr,unsigned char *pBuffer,unsigned char NumToWrite)
{
while(NumToWrite--)
{
At24c02Write(WriteAddr,*pBuffer);
delay(500);
WriteAddr++;
pBuffer++;
}
}