按照普中教程例子里的运行了一下,发现如果写入的字节是奇数的话不会成功,偶数是成功的
比如,iic_write_byte(0x6a)是成功写入eeprom的(可以读出来), iic_write_byte(0x6b)就不行, 这么奇怪 
只贴这个函数...
void iic_write_byte(u8 dat)
{
u8 i=0;
IIC_SCL=0;
for(i=0;i<8;i++) //循环8次将一个字节传出,先传高再传低位
{
if((dat&0x80)>0)
IIC_SDA=1;
else
IIC_SDA=0;
dat<<=1;
delay_10us(1);
IIC_SCL=1;
delay_10us(1);
IIC_SCL=0;
delay_10us(1);
}
}
...
|