打印

I2C遇到问题

[复制链接]
1461|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
G21372|  楼主 | 2013-7-31 21:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以前用IO口模拟I2C一直都没有出现问题,现在正在做的msp430板子却怎么都调试不出来。
现将所遇到的情况向各位汇报:
1、一开始是向24C04写地址,但是始终没有应答信号,用示波器观察,SDA信号电平在中间位置,所以判断信号为高,无应答


2、于是我怀疑上拉的缘故,去掉上拉20K电阻,发现还是没有解决问题,不过发送的第一个芯片地址(0xa0)倒是有了应答信号,后面发送的一个字节又出现了问题,没有应答信号。观察波形,应答时钟处SDA的电平有下降的趋势


3、再将管脚用20K电阻下来,这次发现读出了数据,以为数据对了,不过仔细一看,发现读出来的都是0x00。再看程序,发现写入数据的时候,还是没有写进去(没有写保护)。我分析,应该是24C04的SDA管脚始终输出低电平(因为下拉),只要将单片机的管脚设置为输入,就会读到低电平,于是我怀疑是不是芯片坏了。


4、拆芯片,换芯片,发现问题依旧。将拆下的芯片换到其他版次的板子上,发现芯片正常工作,不过电平还是有些奇怪。

相关帖子

沙发
G21372|  楼主 | 2013-7-31 21:35 | 只看该作者
至此,鄙人忙得精疲力尽,周末的第一天都用在这上面了,却怎么也不出结果,现将情况描述出来,希望万能的各位高手能够给小弟分析分析问题到底出在哪,鄙人不甚感激,谢谢!

使用特权

评论回复
板凳
yangguangaisha| | 2013-7-31 21:42 | 只看该作者
我也用msp430的IO模拟I2C,发现总是收不到从设备的ACK信号,但是手边没示波器,没法深入调试,我估计应该是430的IO口的问题,但是去看datasheet没有怎么看明白,因为430的IO口电路看起来很复杂,一堆的门电路。

使用特权

评论回复
地板
1988020566| | 2013-7-31 23:25 | 只看该作者
你使用模拟的iic么?

使用特权

评论回复
5
1988020566| | 2013-7-31 23:25 | 只看该作者
你看看地址写对了吗

使用特权

评论回复
6
dirtwillfly| | 2013-7-31 23:35 | 只看该作者
奇怪的问题。
你的程序是什么样的?贴出来看看

使用特权

评论回复
7
江枫渔火| | 2013-8-1 08:30 | 只看该作者
管脚适时转为输入模式

使用特权

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

本版积分规则

197

主题

1658

帖子

5

粉丝