OpenEdv-开源电子网

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

无线次保存用户数据

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
31
金钱
31
注册时间
2016-1-19
在线时间
13 小时
发表于 2016-3-2 11:46:51 | 显示全部楼层 |阅读模式
1金钱
请问一下各位牛人,我有个项目是用户输入的数据让程序执行工作,有时会停电休息,第2天继续上电工作执行程序。但是用户数据经常要从新输入的,所以不能写入flash这个有次数限制的区域里。兄弟们有什么好的办法吗?
总结就是
1,要无限次写和读
2,是拔电后不清除变量的数据
3,可以是浮点数组和变量

最佳答案

查看完整内容[请看2#楼]

1,FRAM. 2,加电池。 3,加磨损平衡算法。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-3-2 11:46:52 | 显示全部楼层
1,FRAM.    2,加电池。   3,加磨损平衡算法。
回复

使用道具 举报

1

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-12-13
在线时间
18 小时
发表于 2016-3-2 11:55:15 | 显示全部楼层
加电池,RAM保存
回复

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2016-3-2 11:57:07 | 显示全部楼层
Flash寿命至少10k次,即便是每天写10次,也可以用将近三年,

初学者总是担心这些无关痛痒的东西,这种问题不妨等你水平上来之后,再好好考虑
/*
讲个笑话,我有个同学有一天突然看到STM32手册里说Flash只能擦写10k次,
然后他彻底慌了,每天担心万一写爆了怎么办,所以他就再也不敢下载程序了。。。
*/

-------分割线---------

不过,问题还是要解决的,

两种方案:

1、wear leveling,技术难度大,纯软件即可解决;
2、想办法让单片机感知到掉电事件(比如源电压降低),只有在单片机掉电时将数据移到Flash,平时都保存在RAM中。
坚决不用寄存器,拒绝重复造轮子。
回复

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
发表于 2016-3-2 12:01:37 | 显示全部楼层
有个方法是这样做的:
加个大电容,当系统断电后,mcu一个管脚变低,因为有大电容存电mcu还能工作一段时间。mcu检测到这个脚变低后开始操作铁电存贮器保存数据(时间很短)。保存好以后电容也正好放电完了。mcu停止工作。
下次上电后mcu读取铁电里的数据后再运行。
注:平时数据在ram里不保存。
原子哥是不是又要出黑科技了呀。^_^...
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
31
金钱
31
注册时间
2016-1-19
在线时间
13 小时
 楼主| 发表于 2016-3-27 12:27:51 | 显示全部楼层
非常感谢楼上几个热心的好兄弟,如果加电池可以保存数据的话我选择加电池,毕竟不受次数限制那样的心理影响,请问一下加电池之后,在电池有电供应的情况下,关电主电源变量的数据值就不丢失?电池怎么接?兄弟们可以详细点说一下吗?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 16:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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