模拟IIC程序出现奇怪的问题,大家都来看看

模拟IIC程序出现奇怪的问题,大家都来看看,第1张

我跟你有过同样的问题

曾经困扰了我2周

不过当时我用的是ARM芯片,IIC也是硬件弄好了的,自己只需要写寄存器就能实现时序

就是因为那一小段拉高,有的芯片可以容错

有的芯片不能容错就无应答

我当时用的AT24C1024B就可以,用ad公司的一款视频芯片就不皮握行

后来不用他的硬渗滑件接口,用自己单片机实现的IIC时燃喊庆序就可以完成通信了。

没时间仔细看你程序,给你些经验参考!

时序一定要符合i2c规范。SCL\SDA 平常在H(高态),送出地址或资料时,先送出资料,然后

再将SCL 从H ->L ->H (一个时钟)这样就送出1bit

传送速率,早绝不要超过2MHz ,也就是上面 H ->L ->H的时间要控制在2MHz内。

传送时高位元先送,所以是左移,收的时候也是左移陆察姿。

接收资料跟1.相同,在SCL由高到低转态时读取。

觉得新手比较容易弄错的是没完全弄懂时序(尤其是资料格式),另外就是速率。

仔细看看24c02的datasheet,对照自己没和的程序,这样对自己帮助最大,应该能找出问题。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8243485.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存