AT24C512驱动调试中碰到的坑
测试AT24C512已经两周,期间碰到个各种坑进行总结。
1,第五字符不正确问题。后来发现是读数据错误,使用地址偏移后,可以读出第五个数,但是新的第五个数打印输出继续错误。而使用数组直接赋值时,测试发现串口打印程序没有问题。这个坑现在已经丢失,无法重现了。
2,八字符限制问题。昨天又碰到一个新的问题,写入16个字符,然后读出时,前八个和后五个都是正确的,但是第9、10、11这三位输出结果是0。使用地址偏移,地址增加两位进行测试,变成了7、8、9位输出结果为0,证明是写入错误,数据读取还是正确的。
3,写周期总线占用时间很久,经常是写入命令执行后,系统死机,必须重启才能进行读取。估计是串口传输方面不够完善。
4,在EEPROM写入完成后到底有没有一个SDA拉低应答信号,现在还没有想到比较方便的方法进行监测。
5,总会莫名其妙碰到看门狗重启的情况,并且是一上电就重启,看程序里面有喂狗操作都不行,硬件错误?
6,系统延时函数不够精确,需要示波器进行修正一下。
7,单纯增加写入延迟时间,并不能保证每个数据都写入,只是写成功的数据多了一些而已,有点儿像logx曲线,后面斜率逐渐变小,再增加延时时间已经没有多大意义。
8,读操作和写操作的ACK函数是不同的。写操作是接收EEPROM传输过来的SDA低位数据,如果读到低位,进行下一个字节的写循环。读操作是在读取完毕一个字节后,向总线写入SDA=0,然后继续下一个读循环。
9, address_h=address<<8; address_l=address>>8; 这两句话没有弄明白是什么意思,地址高地位可以这样子设定?
10,当前遇到的问题是,MCU又卡在重启与复位过程中出不来了,把程序初始化全部屏蔽,只留while(1); 进行单循环时没有问题,但是加入系统初始化就会进入重启怪圈。
http://www.classnotes.cn/1114.html
AT24C512驱动调试中碰到的坑相关推荐
- Linux驱动调试中的Debugfs的使用简介
Linux驱动调试中的Debugfs的使用简介 (2012-03-31 14:14) 在调试linux驱动的时候,可以用debugfs来调试,debugfs类似字符设备驱动一样,甚至更简单,不需要主设 ...
- Linux驱动调试中的Debugfs的使用简介 CONFIG_DEBUG_FS 的功能与配置
Linux驱动调试中的Debugfs的使用简介 (2012-03-31 14:14) 在调试linux驱动的时候,可以用debugfs来调试,debugfs类似字符设备驱动一样,甚至更简单,不需要主设 ...
- 前端项目开发中碰到的坑、移动端兼容性问题
前端开发中碰到的坑.移动端兼容性问题 1.ios兼容input光标高度 问题:input输入光标,在安卓手机上显示没有问题,但是在苹果手机上当点击输入的时候,光标的高度和父盒子的高度一样. **出现问 ...
- LCD驱动调试中部分常见问题的分析及解决办法
点击打开链接http://www.52rd.com/Blog/Detail_RD.Blog_DamonKabo_30355.html 点击打开链接 http://blog.csdn.net/color ...
- WinCE驱动调试助手V2.5
http://www.cnblogs.com/we-hjb/archive/2008/12/15/1280822.html http://blog.chinaunix.net/u1/49088/sho ...
- Xcode调试中如何将指定地址转换为其指向的对象
问题现象 一个很简单的问题:在Xcode调试中已知地址addr指向一个对象,如何获取addr指向的对象本身呢? 如上图所示,我们知道地址0x10056e6e0实际指向的是一个对象,但我们如何知道对象类 ...
- Windows Mobile中使用WinCE驱动调试助手的小技巧
驱动调试助手是针对Windows CE做的,在Windows Mobile中使用会有一些问题,最主要的就是其菜单栏被Windows Mobile系统的任务栏给遮住了,导致相应的功能无法正常使用,如下图 ...
- android 电容屏(二):驱动调试之基本概念篇
关键词:android 电容屏 tp 工作队列 中断 多点触摸协议 平台信息: 内核:linux2.6/linux3.0 系统:android/android4.0 平台:S5PV310(sams ...
- Turtlebot3调试必看——爬坑笔记
设备及系统版本: PC端: Lenovo Y7000P + Ubuntu18.04 + ROS Melodic. 如果使用电脑也为此型号,系统建议安装Ubuntu18.04,因为安装16.04后会缺少 ...
最新文章
- 基于TransactionScope类的分布式隐式事务
- 让你知道什么才是firefox4的速度.
- 数据结构和算法-001 数组
- git 连接到远程的其它分支问题
- 升级python版本_升级python版本和环境
- 【Lucene3.6.2入门系列】第10节_Tika
- (转载)谈谈JS里的{ }大括号和[ ]中括号的用法,理解后就可以看懂JSON结构了。...
- 2017西安交大ACM小学期数据结构 [树状数组,极大值]
- abiword class list
- docker-compose下载慢_编写Docker Compose时要注意的五大常见错误
- Linux——cmake使用示例与整理总结
- laravel-admin grid中使用switch操作一对一关联属性(源码探究到功能实现)
- 虚拟仿真引擎消息机制
- 500并发相当于多少人_linux开发技术之线程池accept处理高并发connect(含源码)
- Citrix XVA文件格式
- 第五章 基于引用计数的内存管理
- Docx4j简单学习
- 关于JS跨域访问简述
- android 实现男女按钮选择
- 微信小程序直接打开文件操作(pdf)