测试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驱动调试中碰到的坑相关推荐

  1. Linux驱动调试中的Debugfs的使用简介

    Linux驱动调试中的Debugfs的使用简介 (2012-03-31 14:14) 在调试linux驱动的时候,可以用debugfs来调试,debugfs类似字符设备驱动一样,甚至更简单,不需要主设 ...

  2. Linux驱动调试中的Debugfs的使用简介 CONFIG_DEBUG_FS 的功能与配置

    Linux驱动调试中的Debugfs的使用简介 (2012-03-31 14:14) 在调试linux驱动的时候,可以用debugfs来调试,debugfs类似字符设备驱动一样,甚至更简单,不需要主设 ...

  3. 前端项目开发中碰到的坑、移动端兼容性问题

    前端开发中碰到的坑.移动端兼容性问题 1.ios兼容input光标高度 问题:input输入光标,在安卓手机上显示没有问题,但是在苹果手机上当点击输入的时候,光标的高度和父盒子的高度一样. **出现问 ...

  4. LCD驱动调试中部分常见问题的分析及解决办法

    点击打开链接http://www.52rd.com/Blog/Detail_RD.Blog_DamonKabo_30355.html 点击打开链接 http://blog.csdn.net/color ...

  5. WinCE驱动调试助手V2.5

    http://www.cnblogs.com/we-hjb/archive/2008/12/15/1280822.html http://blog.chinaunix.net/u1/49088/sho ...

  6. Xcode调试中如何将指定地址转换为其指向的对象

    问题现象 一个很简单的问题:在Xcode调试中已知地址addr指向一个对象,如何获取addr指向的对象本身呢? 如上图所示,我们知道地址0x10056e6e0实际指向的是一个对象,但我们如何知道对象类 ...

  7. Windows Mobile中使用WinCE驱动调试助手的小技巧

    驱动调试助手是针对Windows CE做的,在Windows Mobile中使用会有一些问题,最主要的就是其菜单栏被Windows Mobile系统的任务栏给遮住了,导致相应的功能无法正常使用,如下图 ...

  8. android 电容屏(二):驱动调试之基本概念篇

    关键词:android  电容屏 tp 工作队列 中断 多点触摸协议 平台信息: 内核:linux2.6/linux3.0 系统:android/android4.0  平台:S5PV310(sams ...

  9. Turtlebot3调试必看——爬坑笔记

    设备及系统版本: PC端: Lenovo Y7000P + Ubuntu18.04 + ROS Melodic. 如果使用电脑也为此型号,系统建议安装Ubuntu18.04,因为安装16.04后会缺少 ...

最新文章

  1. 基于TransactionScope类的分布式隐式事务
  2. 让你知道什么才是firefox4的速度.
  3. 数据结构和算法-001 数组
  4. git 连接到远程的其它分支问题
  5. 升级python版本_升级python版本和环境
  6. 【Lucene3.6.2入门系列】第10节_Tika
  7. (转载)谈谈JS里的{ }大括号和[ ]中括号的用法,理解后就可以看懂JSON结构了。...
  8. 2017西安交大ACM小学期数据结构 [树状数组,极大值]
  9. abiword class list
  10. docker-compose下载慢_编写Docker Compose时要注意的五大常见错误
  11. Linux——cmake使用示例与整理总结
  12. laravel-admin grid中使用switch操作一对一关联属性(源码探究到功能实现)
  13. 虚拟仿真引擎消息机制
  14. 500并发相当于多少人_linux开发技术之线程池accept处理高并发connect(含源码)
  15. Citrix XVA文件格式
  16. 第五章 基于引用计数的内存管理
  17. Docx4j简单学习
  18. 关于JS跨域访问简述
  19. android 实现男女按钮选择
  20. 微信小程序直接打开文件操作(pdf)

热门文章

  1. wordpress加速之wp super cache 插件的使用
  2. 统计单词数,题解简单易懂量少
  3. 爱上狼的羊和爱上羊的狼
  4. 奇虎360支持Unity引擎 将推3D页游无插件安装
  5. 创业公司如何公平分配股权?
  6. ESP8266 AT指令模式接入贝壳物联,实现远程控制
  7. java面向对象编程思想_Java面向对象编程思想的理解
  8. [笔记][总结] MIT线性代数 Gilbert Strang 矩阵运算
  9. Gitblit安装配置及简单使用
  10. 2022-2028年全球与中国家用数字监控摄像机产业市场前瞻与投资战略规划分析