[MCU] 求助 关于24c02无应答!!!有图有真相!!!

[复制链接]
8800|35
klffnj 发表于 2014-1-22 09:46 | 显示全部楼层
找规范看看吧,这个波形实在看不下去
 楼主| ss掷弹专业 发表于 2014-1-22 09:48 | 显示全部楼层
vkic007 发表于 2014-1-21 22:41
首先问一下,这个是你自己模拟的iic,还是硬件IIC。首先开始位有问题,并且少一个应答的时钟,也就是24C02 ...

IO口模拟的时序啊      “少一个应答的时钟”是什么意思呢  我第八位数据传完后 主机先把SCL拉低  再把SDA拉高  然后再拉高SCL 这不就是第九个时钟来了么  第九个时钟期间如果检测到SDA被从机的应答给拉低  则可以将SCL拉低  进行下一步动作了  这个流程是这样的吧
 楼主| ss掷弹专业 发表于 2014-1-22 09:53 | 显示全部楼层
klffnj 发表于 2014-1-22 09:46
找规范看看吧,这个波形实在看不下去

能不能说详细一点呢....前面好几位都说我的起始信号不规范 可是我把那个下降沿去掉 还是没应答啊 我就是对着24c02的手册写的啊 :(
ayb_ice 发表于 2014-1-22 10:41 | 显示全部楼层
本帖最后由 ayb_ice 于 2014-1-22 10:43 编辑

不管结果如何,第9个时钟都应该完整,
如果失败,再产生个停止信号

不过仔细分析LZ波形,应该也是可以正常工作的,
所以请仔细检查硬件,
ayb_ice 发表于 2014-1-22 10:42 | 显示全部楼层
另外是否成功,还取取决于EE先前的状态,
比如之前正在执行写操作,没有完成是不会应答的你的,
jxhzsq 发表于 2014-1-22 11:51 | 显示全部楼层
可以找下24CXX的参考代码。应该没什么难度的。
klffnj 发表于 2014-1-22 11:58 | 显示全部楼层
ss掷弹专业 发表于 2014-1-22 09:53
能不能说详细一点呢....前面好几位都说我的起始信号不规范 可是我把那个下降沿去掉 还是没应答啊 我就是 ...

手册第8页,仔细看看
m564522634 发表于 2014-1-22 13:15 | 显示全部楼层
哈哈这东西驱动是不是有问题呀,波形看起来不是很漂亮不过应该不是这面的问题了
linqing171 发表于 2014-1-22 14:26 | 显示全部楼层
首先,楼主的SDA是Push pull 不是open drain。 如果你没有od功能,你可以设置为输入,让上拉电阻拉高。
当然这不是主要问题。

主要问题是楼主的EEPROM坏了。 或者地线两边没有接一起,或者电源没有接上。
卖EEPROM的,卖了8年了,每年都N次出差的人路过这里。

评分

参与人数 1威望 +1 收起 理由
ss掷弹专业 + 1 谢谢指点 菜鸟一只 平时只会从程序上着手.

查看全部评分

cjseng 发表于 2014-1-25 01:16 | 显示全部楼层
写保护接地是干嘛呢?
Donil 发表于 2014-1-25 09:47 | 显示全部楼层
菜鸟同学 发表于 2014-1-25 11:21 | 显示全部楼层
多半你没把ACK的IO释放。
Small_Road 发表于 2014-1-25 18:04 | 显示全部楼层
OD电路是最好的,其实换一个再试试
woshansi 发表于 2014-1-26 18:05 | 显示全部楼层
没这样做过,都是直接工作,没看过示波器额波形
ballack_linux 发表于 2014-1-27 21:56 | 显示全部楼层
从楼主的波形上看,开始信号就有问题,在SCL为高时,SDA下降沿代表起始信号,而你这SCL前面的下降沿是干啥的,正如18楼所说,你最后那个应答的时钟都没给,怎么可能会有应答信号
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部