• “龙江二号”微卫星传回地月合影 2019-04-18
  • 中国驻泰国大使考察合艾国光中学孔子课堂 2019-04-18
  • 【清园20年】感恩大回馈!半价!半价! 2019-04-18
  • 中央纪委紧盯节点 4年来通报曝光问题近4000起 2019-04-13
  • 2013环球企业领袖宁夏圆桌会议嘉宾云集 2019-04-13
  • 《魔兽世界》未解之谜 那些仍不能被玩家们踏足的领地 2019-04-11
  • 钱江潮评 让高质量发展插上人才的翅膀 2019-04-10
  • 习近平两会期间谈社会主义核心价值观 2019-04-02
  • 文脉颂中华——黄河新闻网 2019-04-02
  • 陈小林的专栏作者中国国家地理网 2019-03-29
  • 中英航母大战谁能赢歼151枚炸弹就能炸瘫女王 2019-03-22
  • 独特“光捕捉器”可控制分子生化性质 2019-03-22
  • 女性之声——全国妇联 2019-03-19
  • 【理上网来·辉煌十九大】德国北威州经济部长:十九大报告表明中国有能力为世界做出更多贡献 2019-03-11
  • 全国小麦收获进度过八成 2019-03-07
  • 打印

    身无分文最快赚钱方法: [51单片机] C8051 FLASH 掉电保存问题

    [复制链接]
    510|31
    跳转到指定楼层
    楼主
    想通过写数据到FLASH的某一地址,实现掉电后数据的存储,发现每次上电后,该地址内容都被清掉了,不知道是什么原因,有大佬知道吗
    沙发
    | 2019-3-15 09:51 | 只看该作者
    真诚欢迎电子行业的朋友加入电子芯片交流群共同探讨  QQ群号 561558502
    板凳
    | 2019-3-15 10:58 | 只看该作者
    根本就没有写进去吧
    地板
     楼主 | 2019-3-15 14:43 | 只看该作者
    ayb_ice 发表于 2019-3-15 10:58
    根本就没有写进去吧

    应该是写进去了,我如果在程序里先写再读就可以的,但是把写的代码去掉,只读内容的话读出来的就一直是0xFF
    5
    | 2019-3-15 14:49 | 只看该作者
    多写几个位置看看
    6
    | 2019-3-15 14:55 | 只看该作者
    archiew 发表于 2019-3-15 14:43
    应该是写进去了,我如果在程序里先写再读就可以的,但是把写的代码去掉,只读内容的话读出来的就一直是0x ...

    那就是每次上电又被改写了
    7
     楼主 | 2019-3-15 15:13 | 只看该作者
    ayb_ice 发表于 2019-3-15 14:55
    那就是每次上电又被改写了

    是啊,但是FLASH不是可以掉电不擦除吗?用的是C8051F500的片子
    8
     楼主 | 2019-3-15 15:17 | 只看该作者
    wsnsyy 发表于 2019-3-15 14:49
    多写几个位置看看

    试了,在FLASH区的中间位置和末尾都试过
    9
    | 2019-3-15 15:17 | 只看该作者
    000000000000000000000
    10
    | 2019-3-15 15:56 | 只看该作者
    archiew 发表于 2019-3-15 15:13
    是啊,但是FLASH不是可以掉电不擦除吗?用的是C8051F500的片子

    是不是开机后程序又调用了擦除或写代码
    11
     楼主 | 2019-3-15 17:06 | 只看该作者
    ayb_ice 发表于 2019-3-15 15:56
    是不是开机后程序又调用了擦除或写代码

    程序里边没有,已经把擦除和写Flash的代码去掉了
    12
     楼主 | 2019-3-15 17:10 | 只看该作者
    ayb_ice 发表于 2019-3-15 15:56
    是不是开机后程序又调用了擦除或写代码

    为了检验Flash掉电保存成功与否,我写了段代码:先从某一地址读数据,然后将读出的值+1再写回去(先擦出后写),然后再读并打印出来。如果是成功的,那么每次上电,打印值应该+1才对,实际上是每次打印都是0x00(0xFF+1)
    13
    | 2019-3-15 17:22 | 只看该作者
    archiew 发表于 2019-3-15 17:10
    为了检验Flash掉电保存成功与否,我写了段代码:先从某一地址读数据,然后将读出的值+1再写回去(先擦出后 ...

    很明显那就是根本没写对嘛
    14
     楼主 | 2019-3-15 18:17 | 只看该作者
    ayb_ice 发表于 2019-3-15 17:22
    很明显那就是根本没写对嘛

    我先写再读的话就可以正常打印出来的,是不是说明说明写进去了
    15
    | 2019-3-18 08:28 | 只看该作者
    archiew 发表于 2019-3-15 18:17
    我先写再读的话就可以正常打印出来的,是不是说明说明写进去了

    是不是写到RAM里面去了
    16
     楼主 | 2019-3-18 09:12 | 只看该作者
    ayb_ice 发表于 2019-3-18 08:28
    是不是写到RAM里面去了

    应该不会,用的例程的FLASH读写代码
    17
    | 2019-3-18 10:21 | 只看该作者
    archiew 发表于 2019-3-18 09:12
    应该不会,用的例程的FLASH读写代码

    这东西又不难的,仔细看下代码吧
    18
     楼主 | 2019-3-18 10:39 | 只看该作者
    ayb_ice 发表于 2019-3-18 10:21
    这东西又不难的,仔细看下代码吧

    嗯嗯,代码我对着芯片手册看了,应该没什么问题。我在想在FLASH读写过程中是不是有什么别的地方需要注意的
    19
    | 2019-3-18 11:04 | 只看该作者
    archiew 发表于 2019-3-18 10:39
    嗯嗯,代码我对着芯片手册看了,应该没什么问题。我在想在FLASH读写过程中是不是有什么别的地方需要注意 ...

    写的时候最好关全局中断,读就不需要了,另外最后一页其实是不能写的
    20
     楼主 | 2019-3-18 11:29 | 只看该作者
    ayb_ice 发表于 2019-3-18 11:04
    写的时候最好关全局中断,读就不需要了,另外最后一页其实是不能写的


    这是芯片FLASH空间分配,我用的是下面的可用部分地址。0xF000左右,避开了程序代码存储区
    扫描二维码,随时随地手机跟帖
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    我要发帖 投诉建议 创建版块 申请版主

    快速回复

    您需要登录后才可以回帖
    登录 | 注册
    高级模式

    论坛热帖

    关闭

    热门推荐上一条 /4 下一条

    快速回复 广东快乐十分走势图 返回列表
  • “龙江二号”微卫星传回地月合影 2019-04-18
  • 中国驻泰国大使考察合艾国光中学孔子课堂 2019-04-18
  • 【清园20年】感恩大回馈!半价!半价! 2019-04-18
  • 中央纪委紧盯节点 4年来通报曝光问题近4000起 2019-04-13
  • 2013环球企业领袖宁夏圆桌会议嘉宾云集 2019-04-13
  • 《魔兽世界》未解之谜 那些仍不能被玩家们踏足的领地 2019-04-11
  • 钱江潮评 让高质量发展插上人才的翅膀 2019-04-10
  • 习近平两会期间谈社会主义核心价值观 2019-04-02
  • 文脉颂中华——黄河新闻网 2019-04-02
  • 陈小林的专栏作者中国国家地理网 2019-03-29
  • 中英航母大战谁能赢歼151枚炸弹就能炸瘫女王 2019-03-22
  • 独特“光捕捉器”可控制分子生化性质 2019-03-22
  • 女性之声——全国妇联 2019-03-19
  • 【理上网来·辉煌十九大】德国北威州经济部长:十九大报告表明中国有能力为世界做出更多贡献 2019-03-11
  • 全国小麦收获进度过八成 2019-03-07
  • 炸金花 昨日福彩中奖号 江西多乐彩投注技巧 齐鲁彩票七乐彩走势图 七星彩走势图星期天 3d349期试机号 重庆幸运农场官方网站 重庆幸运农场走势图一定牛 时时彩计划软件免费版自动出号 青海福彩中奖的人 秒速时时彩有官网吗 分分彩网站注册官网 新浪彩票 幸运飞艇领头羊计划 竞猜4场进球 山东时时彩11选5开奖结果走势图