标题: 求助proteus仿真i2C通信出现问题 [打印本页]
作者: boasing 时间: 2012-6-10 22:26
标题: 求助proteus仿真i2C通信出现问题
求助论坛里的各位大神,在仿真单片机通过I2C与24C02通信出现问题
在仿真时,51单片中外接AT24C02提示这个警告:[I2CMEM]stop condition whilst memory is transmitting data is unreliable。
原理图和C语言程序都在附件里,,
仿真的原理图和c代码.rar
(16.45 KB, 下载次数: 78)
作者: boasing 时间: 2012-6-10 22:31
对了,这个程序主要是验证24C02的存储功能,单片机与24C02tongguo i2C通信,当单片机每上电一次或复位一次,单片机就往24C02里加1,然后24C02再通过i2c与单片机通信,把存储的值返回给单片机,并用数码管显示。。。
作者: lmy 时间: 2016-8-23 15:06
我感觉只是初始化要一分钟 后来就是正常
作者: maomao12 时间: 2018-3-14 19:21
读取数据的时候,不要停止信号,每次开始读数据的时候加上开始信号
作者: maomao12 时间: 2018-3-14 19:27
在发送停止信号之前,发送一个应答 void Master_ACK24C02() { _24C02_SCL = 0; // 拉低时钟总线允许SDA数据总线上的数据变化 _nop_(); // 让总线稳定 _24C02_SDA = 1; //发送非应答 _nop_();//让总线稳定 _24C02_SCL = 1;//拉高时钟总线 让从机从SDA线上读走 主机的应答信号 _nop_(); _24C02_SCL = 0;//拉低时钟总线, 占用总线继续通信 _nop_(); _24C02_SDA = 1;//释放SDA数据总线。 _nop_(); }
作者: 13487086265 时间: 2020-4-15 11:36
实物上没问题
作者: Murasamekiss 时间: 2021-12-28 21:44
你把接受里的iic_stop删了试试
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |