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)了。再也不通讯了。 |