51uwb.cn
标题:
AT24C16 一个小Bug 记录
[打印本页]
作者:
admin
时间:
2019-1-27 21:23
标题:
AT24C16 一个小Bug 记录
在板子上预留了AT24CXX 芯片接口,但是目前没有用到,也没有焊接芯片。
最近打算将其用起来,在里面存点东西,但是调试起来总是遇到问题。
1 HW IIC方法,OLED用的就是HW IIC,想通过简单修改地址方式读写AT24CXX芯片,发现失败,度娘说STM32 HW IIC 不是很好用,自己也没有时间去深入学习STM32 IIC知识。
2 SW IIC方法,这个很早之前就用51玩过,找出一份代码调试,毕竟只需要控制两个GPIO就可以了。
但是遇到问题:有些数据可以对,有些不对。很是诡异,在IIC 函数里面加打印,发现连着第二次写的时候,芯片没有应答。
于是拿出单片机调试神器:逻辑分析仪(20多块那种廉价产品),抓波形
(, 下载次数: 892)
上传
点击文件名下载附件
从波形上看到第二次确实芯片没有应答(绿色表示一整次Start,红色stop),而且显示第一次写完stop到第二次start只有不到1ms,这个时间。。。
查数据手册发现最少需要5ms
(, 下载次数: 694)
上传
点击文件名下载附件
在调用程序中增加两次写之间的延时,结果正常了。
之前51 估计太慢了,忘记了这么重要的一个延时函数。
附件是简单读写IIC 的库函数,可供参考,后期实现page 读写
(, 下载次数: 2)
上传
点击文件名下载附件
欢迎光临 51uwb.cn (http://51uwb.cn/)
Powered by Discuz! X3.3