硬汉嵌入式论坛

 找回密码
 立即注册
查看: 541|回复: 6
收起左侧

[技术讨论] 单片机flash内部存储的数据被擦除了

[复制链接]

7

主题

11

回帖

32

积分

新手上路

积分
32
发表于 2023-12-4 09:53:20 | 显示全部楼层 |阅读模式

1

1

2

2


我用的是原子的程序。在扇区10和11都存了几个字节的参数,经常会修改的是10扇区的参数,有的时候可能flash打开的时候电源不稳怎么着,就会导致扇区10中的参数全变成0xFF。但是我扇区11里的参数也没了,扇区11是没有进行操作的,这是为什么呢?我将扇区11的参数放在参数10里面也会出现被擦除的现象。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106749
QQ
发表于 2023-12-4 10:40:42 | 显示全部楼层
不要排查了,简单省事些。

F1的库提供了扇区擦除函数和编程函数,你仅需使用扇区擦除API,然后调用编程API即可,编程数据的时候主要注意地址递增编程,同一个地址不支持重复写,重复写要重新擦除扇区的。
回复

使用道具 举报

3

主题

70

回帖

79

积分

初级会员

积分
79
发表于 2023-12-4 15:32:56 | 显示全部楼层
直接用X-CUBE-EEPROM,目前没有出过异常
回复

使用道具 举报

7

主题

11

回帖

32

积分

新手上路

积分
32
 楼主| 发表于 2023-12-5 11:06:53 | 显示全部楼层
eric2013 发表于 2023-12-4 10:40
不要排查了,简单省事些。

F1的库提供了扇区擦除函数和编程函数,你仅需使用扇区擦除API,然后调用编程A ...

我是将数据放在结构体里,放入扇区中的固定地址,每次写之前就擦。疑惑的是,操作的地址是A扇区的,有时会把B扇区的也擦掉,放在B扇区的基本就是读的。操作A把B也影响了
回复

使用道具 举报

7

主题

11

回帖

32

积分

新手上路

积分
32
 楼主| 发表于 2023-12-5 11:07:27 | 显示全部楼层
turnip 发表于 2023-12-4 15:32
直接用X-CUBE-EEPROM,目前没有出过异常

没有条件上EE了,只能用片内flash
回复

使用道具 举报

3

主题

75

回帖

84

积分

初级会员

积分
84
发表于 2023-12-5 11:30:07 | 显示全部楼层
flash模拟eeprom试试
回复

使用道具 举报

3

主题

70

回帖

79

积分

初级会员

积分
79
发表于 2023-12-27 09:33:04 | 显示全部楼层
Kg_lz 发表于 2023-12-5 11:07
没有条件上EE了,只能用片内flash

这个是STM32片内flash模拟EEPROM的代码,肯定解决你的问题
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-4 04:20 , Processed in 0.257935 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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