读书人

还是S3C6410的I2C有关问题

发布时间: 2012-09-10 22:20:12 作者: rapoo

还是S3C6410的I2C问题
我是使用GPIO操作sda和scl来模拟I2C信号的,目前已经可以模拟出波形了,但是却怎么也得不到ack,地址确定是对的,而且我也将sda设为输入模式了,请教高手可能的问题是在哪里??

[解决办法]
汗,看不懂

帮顶下~~
[解决办法]
我也看不懂 和驱动有什么关系
[解决办法]
楼主需要告诉大家:从设备是什么?从地址是多少?
波形看从地址A4,对吗?读ACK之前延时了吗?波形上看,无法确定你在哪儿读ACK。
[解决办法]
时序都对么?
[解决办法]
读ack的时候,输入输出模式有没有做切换?
[解决办法]
可以降低速率试一试。
[解决办法]
1)GPBPUD是上拉控制寄存器,当管脚用来模拟I2C管脚时,需要上拉;
2)当写命令下发后,可以延时1~2个微妙读取ACK;对应你的波形,可以在第10个时钟处读ACK信号;
3)当你第9个时钟处,没能读到ACK信号时,你第10~11个时钟处,做什么了?用SDA再次输出什么了吗?
通常的做法是,第10~11个时钟处,还可以继续读取ACK。一直读不到,说明E2PROM没有反应,剩下的也不用再做了;
4)E2PROM的基本地址为A0,你设为A4(波形显示的)有什么原因吗?设为A0能够收到ACK吗?
5)你说的“地址从50到53都可以读到”是啥意思?
[解决办法]
先把SDA设置为OUTPUT发送完数据后设为INPUT 就可以接收数据啦。
[解决办法]
bjtea说的很清楚了,楼主认真确认一下他提出的问题吧。首先确保EEROM的地址的确是A4

读书人网 >驱动开发

热点推荐