搜索
bottom↓
回复: 19

EEPROM存储运行累积时间,有什么矫正技术避免很离谱错误数据?

[复制链接]

出0入0汤圆

发表于 2022-9-20 11:41:13 | 显示全部楼层 |阅读模式
单片机上电就先读取之前存储的累积时间  然后一小时就存一次eeprom,这个累积数值肯定是逐渐递增,个别发现误差很离谱  。明显是错误的数据。比如用几天而已  竟然累积出几百天了。

请问有没有存储矫正办法。多份存储 对比?  目前只存一份数据。

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出130入129汤圆

发表于 2022-9-20 11:42:57 | 显示全部楼层
这哪里是误差,明显是错误。这时候不是应该找出原因么

出0入12汤圆

发表于 2022-9-20 12:04:00 | 显示全部楼层
数据有问题不查哪里出的问题数据,而去考虑修饰数据。和头疼堵嘴,脚疼堵嘴,哪疼都堵嘴一样。

出0入0汤圆

发表于 2022-9-20 12:33:39 来自手机 | 显示全部楼层
是不是mcu正在写eeprom时,出现掉电了?于是eeprom里写入的数据不完整?

出0入4汤圆

发表于 2022-9-20 12:44:08 | 显示全部楼层
电表里做法:数据存多份,数据加校验

出0入91汤圆

发表于 2022-9-20 12:56:46 | 显示全部楼层
肯定是代码溢出问题   EEPROM 1小时一次 不会出问题的

出0入0汤圆

 楼主| 发表于 2022-9-20 14:13:13 | 显示全部楼层
ackyee 发表于 2022-9-20 12:56
肯定是代码溢出问题   EEPROM 1小时一次 不会出问题的
(引用自6楼)

可是关键不是每个都出问题啊。如果软件出问题  应该是很多。 比如100个才出1-2个

出0入12汤圆

发表于 2022-9-20 15:02:14 | 显示全部楼层
lin28 发表于 2022-9-20 14:13
可是关键不是每个都出问题啊。如果软件出问题  应该是很多。 比如100个才出1-2个 ...
(引用自7楼)

应该,应该去掉2月29日,最快一千四百多天才出现一次,有时候两千天也不出现一次。

出0入4汤圆

发表于 2022-9-20 15:15:43 | 显示全部楼层
怀疑你的计时有问题

出0入0汤圆

 楼主| 发表于 2022-9-20 16:45:04 | 显示全部楼层
laujc 发表于 2022-9-20 15:15
怀疑你的计时有问题
(引用自9楼)

只是个简单的计数,int类型。一小时+1一次。不做时间处理的。

出0入0汤圆

发表于 2022-9-20 16:53:41 | 显示全部楼层
直接修改计数时基,提速测试不就快了。
很简单的事情。

出0入0汤圆

 楼主| 发表于 2022-9-20 17:26:27 | 显示全部楼层
lyl1070 发表于 2022-9-20 16:53
直接修改计数时基,提速测试不就快了。
很简单的事情。
(引用自11楼)

做过 没问题。就是很小概率出现。 已经开启了低于VOBD 禁止编程。

出0入0汤圆

 楼主| 发表于 2022-9-20 18:08:13 | 显示全部楼层
acmilannast 发表于 2022-9-20 12:44
电表里做法:数据存多份,数据加校验
(引用自5楼)

有没有具体的做法 可以分享下嘛

就是不知道什么时候错的,如果是写入的时候错的 那校验也是对的哈。

出40入518汤圆

发表于 2022-9-20 19:36:10 | 显示全部楼层
只用1个地址存?不是用多个空间循环擦写以提高寿命的吗?
多个空间循环擦写,通过连续0xff判断最新数据位置,因为你是累加方式,再简单判断下就知道数据有无错了吧

出0入4汤圆

发表于 2022-9-20 19:43:32 来自手机 | 显示全部楼层
楼主是用mcu内部的data flash来存储数据的吗?如果是的话就要注意,要规避比较多地方的

出0入0汤圆

 楼主| 发表于 2022-9-20 20:13:23 | 显示全部楼层
Landmark 发表于 2022-9-20 19:43
楼主是用mcu内部的data flash来存储数据的吗?如果是的话就要注意,要规避比较多地方的 ...
(引用自15楼)

N76E003 用最后2页做eeprom

出0入0汤圆

 楼主| 发表于 2022-9-21 13:00:31 | 显示全部楼层
智涅 发表于 2022-9-20 19:36
只用1个地址存?不是用多个空间循环擦写以提高寿命的吗?
多个空间循环擦写,通过连续0xff判断最新数据位置 ...
(引用自14楼)

2个字节 ,int数据。 寿命10万次足够了哈。没做多处存储! 难道写入flash之前,先读取出来对比 再写入?

出40入518汤圆

发表于 2022-9-21 13:55:48 | 显示全部楼层
lin28 发表于 2022-9-21 13:00
2个字节 ,int数据。 寿命10万次足够了哈。没做多处存储! 难道写入flash之前,先读取出来对比 再写入? ...
(引用自17楼)


"难道写入flash之前,先读取出来对比 再写入?"  做滚动存储,你要判断之前写到哪里,肯定要先读,通过判断是不是连续0xff就可以了

出0入0汤圆

发表于 2022-9-21 14:11:54 | 显示全部楼层
数据加校验,你至少要知道出错的原因是数据不完整还是完整但是错了。

出0入0汤圆

 楼主| 发表于 2022-9-21 14:40:03 | 显示全部楼层
智涅 发表于 2022-9-21 13:55
"难道写入flash之前,先读取出来对比 再写入?"  做滚动存储,你要判断之前写到哪里,肯定要先读,通过判 ...
(引用自18楼)

可以指定地址写入和读取的 。 出错时候是很大数据,现在怀疑是有某个字节变FF了,应该是几十的数据,突然变成  65532 这样子。怎么会变FF呢 怎么避免 或者矫正回来呢
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-18 07:11

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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