打印

I2C总线死掉

[复制链接]
1985|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhuww|  楼主 | 2011-6-27 20:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用单片机与E2PROM通信的时候,读写e2prom操作的时候,如果中途单片机硬件复位(/RST引脚外来信号复位),再进入程序的时候,则有时候i2C总线死掉(表现为SDA始终为低电平),I2C无法再通信
沙发
zhanglli| | 2011-6-27 20:50 | 只看该作者
单片机拉死?

使用特权

评论回复
板凳
zhuww|  楼主 | 2011-6-27 21:20 | 只看该作者
应该不是单片机拉死,因为单片机复位了,I2C总线应该会复位

使用特权

评论回复
地板
zhuww|  楼主 | 2011-6-27 22:49 | 只看该作者
我用的是硬件i2C,不是用io口模拟的

使用特权

评论回复
5
guoyt| | 2011-6-27 23:03 | 只看该作者
会不会是e2PROM将i2C总线拉死了?

使用特权

评论回复
6
hanwe| | 2011-6-27 23:15 | 只看该作者
这个有可能,因为EEPROM没有复位

使用特权

评论回复
7
yufe| | 2011-6-27 23:26 | 只看该作者
有些EEPROM有超时功能,可以自动退出死锁状态,可以通过MCU控制EEPROM供电解决

使用特权

评论回复
8
llia| | 2011-6-27 23:37 | 只看该作者
是的,这样可以MCU控制EEPROM是电复位

使用特权

评论回复
9
wangpe| | 2011-6-27 23:54 | 只看该作者
应该是I2C总线乱掉了。
单片机给个STOP信号试试看。

使用特权

评论回复
10
zhuww|  楼主 | 2011-6-28 00:13 | 只看该作者
谢谢了,后经过测试分析,确实是E2pROM将i2C拉死。

使用特权

评论回复
11
wangzsa| | 2011-6-28 00:49 | 只看该作者
网上查看说发9个clk可以激活,试试检验这种方法

使用特权

评论回复
12
lium| | 2011-6-28 08:47 | 只看该作者
9个clk可以激活,在NXP的文档里面谈到过,NXP(Philips)作为I2C总线的鼻祖,这样的说法是可信的。

使用特权

评论回复
13
jack_shine| | 2011-6-28 10:30 | 只看该作者
楼主用IO口模拟试试看,用硬件I2C有可能哪些寄存器的设置没注意到引起问题

使用特权

评论回复
14
sunshitao| | 2011-6-28 18:13 | 只看该作者
弱弱的问一句    LPC1114的ROM bootloader 中的向量表  在复位后 是自动出现在flash中的0x0000地址处吗?

使用特权

评论回复
15
zhuww|  楼主 | 2011-6-28 18:19 | 只看该作者
经过验证确实可以激活

使用特权

评论回复
16
zhuww|  楼主 | 2011-6-28 18:38 | 只看该作者
呵呵,可以结贴了,多谢大家

使用特权

评论回复
17
jayy| | 2011-7-6 20:54 | 只看该作者
不妨碍我学习呀

使用特权

评论回复
18
jayy| | 2011-7-6 20:54 | 只看该作者
嘿嘿

使用特权

评论回复
19
tr14571| | 2011-7-7 10:20 | 只看该作者
发个图来看看啊,我也碰到类似的问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

893

主题

8252

帖子

1

粉丝