查看: 303|回复: 0

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

[复制链接]

24

主题

0

好友

4455

积分

状元

Rank: 6Rank: 6

  • TA的每日心情
    开心
    14 小时前
  • 签到天数: 1338 天

    连续签到: 48 天

    [LV.10]以坛为家III

    爱板会员勋章 活跃会员勋章 发帖机器勋章 在线达人勋章

    发表于 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, 下载次数: 1)




    已有 1 人评分 收起 理由
    EEboard爱板网 + 9 3周发帖养成记 奖励

    总评分:  + 9   查看全部评分

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

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

    手机版|爱板网 |网站地图  

    GMT+8, 2017-7-24 14:51 , Processed in 0.180486 second(s), 12 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部