按照普中教程例子里的運行了一下,發現如果寫入的字節是奇數的話不會成功,偶數是成功的
比如,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);
}
}
...
|