首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 嵌入开发 >

I2C的奇怪有关问题

2012-02-28 
I2C的奇怪问题,高手进!I2C线上挂了3个器件,2个正常工作,有一个对它发送读写指令时,它能回应ACK信号,但是读

I2C的奇怪问题,高手进!
I2C线上挂了3个器件,2个正常工作,有一个对它发送读写指令时,它能回应ACK信号,但是读写却得不到正确的值。

而我用另一个CPU控制时,却可以。另一个CPU不是我做的,但是我抓它的时序和我是一样的! 有谁知道吗?

[解决办法]
I2c的频率是多少,模拟的还是硬件的I2C接口,你用的什么抓它的时序,怎么判断和你的是一样的?
[解决办法]
看起来是上拉有问题。还有看看芯片支持的工作电压和CPU外设支持的电压是否匹配。
[解决办法]

探讨
谢谢楼上的帮忙

1、I2C的频率是50HZ
2、硬件的I2C接口有一个芯片不行,但是另一个CPU不是我做的,不知道他怎么操作
3、我用示波器抓的,0,1都很清晰,没有过冲和毛刺

但是据我分析,我CPU的硬件I2C的上升时间达到了2uS,而另一个CPU出的I2C的上升时间只有40nS,
这是我观察波形后的唯一区别了(可能有遗漏),I2C对上升时间要求这么严格吗?  他不是只要在CLK的‘0’跳变数据,‘1’保持数据就行的?

[解决办法]
2uS?上升时间怎么会那么长?
[解决办法]
硬件的I2C都不行,那要看看你的协议了
是什么单片机什么器件

热点排行