你們這理解有錯誤
看下面例子
void main()
{
uchar temp=0;
SDA=1; //對兩功能引腳進行初始化
SCL=1;
iic_Put(0xa0,0x00,0x55);
delay(50);
//此延時非常重要,數據寫進EEPROM后要延遲一段時間才能進行讀。
temp=iic_Rev(0xa0,0x00);
while(1)
{
P0 = temp;
}
}
0xa0是器件之間的區別地址,他決定了你數據要放入哪一個24C02,因為都是單總線,所以有一個區分號(器件地址),這個錯了讀與寫都進行不了。0x00才是存放數據的地址,也就是說0x55要放到他那里去。
因此這個器件在寫數據時是要寫兩種地址的 |