• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

stm32 实现掉电数据保存到FLAS,变量进去就得不到保存

小熊123 2019-02-21 浏览量:901
想实现掉电数据保存到FLASH中,但是发现实际操作中,写一个常数进去可以有效保存,写一个变量进去就得不到保存,有遇到类似问题的吗?怎样解决,求指点!!!!
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 写flash操作不对吧

    是不是flash没解锁?或者地址算错了?

    贴上代码看看吧

    • 发布于 2019-02-22
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:15
  • 没有,都很正常

    检查下程序吧。

    不行把程序贴上来让高手检查。

    • 发布于2019-02-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 要不贴上代码看看。如果能保存其中一个,那其他也能保存。对FLASH来说,都是写入数据,没啥区别。


    • 发布于2019-02-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 你每次程序都要把之前写入的擦出试试,可能常数也是写不进去的,是你之前没断电写进去的
    • 发布于2019-02-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 常数能写进去,变量也必须能写进去、

    对于单片机来说,常数和变量都是对应几个字节的内存空间的数据。

    • 发布于2019-02-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 擦写前要执行解锁函数,看是不是漏掉了
    • 发布于2019-02-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 可能是这个变量的类型和写入FLASH的函数参数的类型不一样吧,最好把这部分代码贴上来,这样比较好分析。
    • 发布于2019-02-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 变量也是一个数据,没有理由不保存的啊,可能是Flash的操作不对吧
    • 发布于2019-02-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个更多可能是flash操作的过程不对。
    • 发布于2019-02-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 我碰到过类似的情况,你看看你是不是用的是数组?

    写变量和写常数数组好像是有区别,把变量单个写,或者写常数数组都行,但写变量数组就是出问题,不知道原因,但有绕过去的办法,把数组里面的变量拆出来,一个个的写。你也可以试试这个办法。

    对于这个问题,要是有人分析清楚了,我也学习一下。

    • 发布于2019-02-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 变量你每一下次都要操作FLASH也许是操作太快了,导致数据根本没有写入进去
    • 发布于2019-02-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 写常数跟写变量到flash中方法完全相同,没有太大区别,如果是写入不成功的话你看看是如何不成功,具体情况具体分析。
    • 发布于2019-02-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 写变量和写常数是一样的,不过要注意写入之前要先unlock一下flash
    • 发布于2019-02-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 可能是数据有问题吧。常量,变量,对单片机来说,是没有区别的,都是几个字节的数据而已
    • 发布于2019-02-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 要看变量是什么类型的,Flash的存储也是要按字节的,擦除是要按页的
    • 发布于2019-03-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 仿真一下吧,看看在存储前变量的值是多少,与读取出来的差多少,会不会变量是局部的呢
    • 发布于2019-03-14
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

stm32 实现掉电数据保存到FLAS,变量进去就得不到保存