查看: 2383|回复: 0

【赚周年币】技术帖Week2-Day2——LPC824 Lite之九、EEPROM

[复制链接]
  • TA的每日心情
    开心
    8 小时前
  • 签到天数: 3745 天

    连续签到: 71 天

    [LV.Master]伴坛终老

    发表于 2017-1-9 23:40:31 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 toofree 于 2017-1-17 23:38 编辑

            【赚周年币】技术帖Week2-Day3——LPC824 Lite之九、EEPROM

              介于LPC824 Breakout 板上没有集成I2C EEPROM芯片,本贴用LPC824 Lite来实验。
              使用YL-LPC824光盘资料.rar中程序模板。程序在哪下载,不就多说了吧。论坛上有,在LPC824 Lite盒子上也有网址。

              板上集成EEPROM芯片型号 AT24C02CM ,关键参数,在下图中圈出。不要只看原理图,实际板上焊的芯片是这颗C系列,不是B的。
              傲游截图20170109233959.jpg
            容量256x8,即256字节;
            1.7V支持400KHz波特率,2.5V、2.7V、5V最大适用1MHz波特率;
            8字节页写模式;(一个页是8字节,超过8字节就跨页了,不重新指定页地址的话,仍会在本页循环。
            自定时5ms最大。(这个5ms非常重要。前一个写停止,到下一个写开始,必须有足够长的时间,这个时间理论最大值5ms;实际芯片可能比5ms要小,但是延时5ms是最保险的做法。
            I2C时序,这里不做解释,AT24C02手册中有。

            先跑个程序试试。打开工程“YL-LPC824光盘资料\SDK\peri_example\i2c\i2cm_eeprom\project_i2cm_eeprom.uvoptx”。
             傲游截图20170109235714.jpg

            直接编译,生成“i2cm_eeprom.bin”文件。把这个文件,直接拖到LPC824 Lite板卡在本地自建的MBED 模拟盘中,直到“i2cm_eeprom.bin”文件自动消失,表示程序下载成功。
             傲游截图20170109235841.jpg

           点仿真按钮,或CTRL+F5,进入仿真状态。
           傲游截图20170109235955.jpg

            在第264行处,设置断点,并把wrBuf、rdBuf添加到memory观察窗口。
             傲游截图20170110000403.jpg
             傲游截图20170110000534.jpg

            按F5全速跑程序,直到在断点处停止。对比,wrBuf、rdBuf的内容完全一致,变量testFail值为0,表示校验一致,读写测试成功。
             傲游截图20170110001023.jpg

            但是测试程序,只测试了240个单元。我们为何不把它全部测试呢,一共就256个字节,总不会有什么问题吧。那么修改一下程序,接着测试。
            将BUF_SIZE改为256。
             傲游截图20170110001505.jpg
            
            编译下载程序,依然是运行仿真。很不幸,测试失败。testFail值为1,rdBuf无内容。
             傲游截图20170110002055.jpg

            程序做了小改动,写的时候,wrBuf = i;读取的时候,按字节全部读回。这次校验成功,
             傲游截图20170110002710.jpg

    这次校验成功,那么256字节全读写失败,可能就出在读函数上。查看代码,读字节数的参数类型竟然是uint8_t,uint8_t,uint8_t,重要的事情说三遍,我叻个去。
             傲游截图20170110003054.jpg
    人家原函数,本来就是uint16_t类型的,非要封一层改成uint8_t。
             傲游截图20170110003248.jpg

    果断改回来,改成uint16_t。
             傲游截图20170110003930.jpg

    再次测试,校验通过。噢了!!!修改Bug一处,主程序打外包传上来。
    main_i2cm_eeprom.rar (2.96 KB, 下载次数: 8)

    评分

    参与人数 1 +9 收起 理由
    EEboard爱板网 + 9 3周发帖养成记 奖励

    查看全部评分

    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-20 08:40 , Processed in 0.144580 second(s), 23 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.