|
amberxu 發表于 2020-10-24 13:45 嗯,原來是這樣。謝謝 |
| EEPRMO I2C寫入后不能立刻讀出,需要延時一段時間,否組EEPROM無法正常響應的 |
心有浮生 發表于 2020-10-24 09:07 居然可以啦!我就加了個暫停 void main() { init(); qidong(); wz( ); scl=1;_nop_();_nop_();_nop_(); scl=0;_nop_();// 應答 pnwz( ); scl=1;_nop_();_nop_();_nop_();scl=0;_nop_(); // 應答 shuju(); scl=1;_nop_();_nop_();_nop_(); scl=0;_nop_(); // 應答 jieshu(); //zt(); init(); du(); _nop_(); if(sda==0) |
liaoym 發表于 2020-10-23 17:24 先初始化再通信,還有你上電瞬間就通信,來得及看現象嗎 |
心有浮生 發表于 2020-10-23 16:33 謝謝回帖 是的 我就通信1次。 我想寫入0xaa,然后單片機從24c02中讀取出來,賦給P2,通過觀察P2接的LED燈,看是不是剛剛寫入的。 |
本帖最后由 liaoym 于 2020-10-23 17:07 編輯 心有浮生 發表于 2020-10-23 16:33 是的,我按自己的理解寫的。我就是想實現寫入0xaa,然后單片機從24c02中讀回剛才寫的,賦給P2。P2上接了LED燈觀察。只需要通信一次 |
| 還有,不是應該先初始化iic的io口再通信嗎?你這先通信完再初始化? |
| 你這程序好不規范,看的好懵,你iic函數沒丟while(1)里面,看樣子你是模擬的iic,你是上電就進行iic通信一次,然后就進入空的while(1)了。再也不通訊了。 |