OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2141|回复: 7

求助大神,掉电数据保存,掉电后要保存变量的值变成了初始值0,而不是程序运行后赋值的结果。

[复制链接]

6

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2018-7-24
在线时间
21 小时
发表于 2018-7-24 17:23:20 | 显示全部楼层 |阅读模式
求助大神,stm32f103掉电数据保存问题,掉电后要保存变量的值变成了初始值0,而不是程序运行后赋值的结果。

就是DDLIB4数组的值,掉电后变为初始化的值

就是DDLIB4数组的值,掉电后变为初始化的值
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2018-7-24
在线时间
21 小时
 楼主| 发表于 2018-7-24 17:25:25 | 显示全部楼层
这是掉电保存数据的函数
回复 支持 反对

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4521
金钱
4521
注册时间
2018-5-11
在线时间
946 小时
发表于 2018-7-24 17:29:27 | 显示全部楼层
掉电后数据要保存在后备寄存器中
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复 支持 反对

使用道具 举报

19

主题

82

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
466
金钱
466
注册时间
2018-6-8
在线时间
114 小时
发表于 2018-7-24 17:35:17 | 显示全部楼层
你这个write_cfg函数是写入到EEPROM或者FLASH的话,开机重新根据上次写入的地址读出来,不会变成0的
回复 支持 反对

使用道具 举报

6

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2018-7-24
在线时间
21 小时
 楼主| 发表于 2018-7-24 17:39:07 | 显示全部楼层
掉电保存数据的原理是,利用PVD检测电压,低于监测电压后进入中断函数,中断里有保存数据的函数,保存的数据是一个8位的浮点型数组,问题是掉电后这个数组的值变成了定义后初始化的值,而不是程序运行后赋值的结果。
回复 支持 反对

使用道具 举报

6

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2018-7-24
在线时间
21 小时
 楼主| 发表于 2018-7-25 08:55:24 | 显示全部楼层
wbyrnygrysc 发表于 2018-7-24 17:35
你这个write_cfg函数是写入到EEPROM或者FLASH的话,开机重新根据上次写入的地址读出来,不会变成0的

写到flash的,开机重启的时候,读写入地址的值,,如果之前数组第一个值初始化为3,读到的值为3,如果初始化为0和不初始化,读到的值就是0,
回复 支持 反对

使用道具 举报

6

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2018-7-24
在线时间
21 小时
 楼主| 发表于 2018-7-25 08:56:49 | 显示全部楼层
warship 发表于 2018-7-24 17:29
掉电后数据要保存在后备寄存器中

掉电后,数据写入flash的
回复 支持 反对

使用道具 举报

6

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2018-7-24
在线时间
21 小时
 楼主| 发表于 2018-7-25 11:01:29 | 显示全部楼层
wbyrnygrysc 发表于 2018-7-24 17:35
你这个write_cfg函数是写入到EEPROM或者FLASH的话,开机重新根据上次写入的地址读出来,不会变成0的

找到原因了,上电的时候,进入到掉电中断函数里面,结果把flash里面的值改变了
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-17 17:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表