发新帖我要提问
123
返回列表
打印
[STM32F1]

将一个整型变量写读eeprom操作

[复制链接]
楼主: chuxh
手机看帖
扫描二维码
随时随地手机跟帖
41
Bblythe| | 2025-3-14 07:47 | 只看该作者 回帖奖励 |倒序浏览
ST 官方有 EEPROM 仿真例程,你可以在 STM32CubeF1 里找找,或者参考 EEPROM_Emulation 示例。

使用特权

评论回复
42
帛灿灿| | 2025-3-14 07:48 | 只看该作者
STM32F1 的 Flash 擦写有次数限制(大概 1 万次),如果是高频存取,建议用 FRAM 或 外部 EEPROM。

使用特权

评论回复
43
Pulitzer| | 2025-3-14 07:49 | 只看该作者
试试用 HAL_FLASH_Program() 写数据,地址范围要在 Flash 允许的用户区,别写错了。

使用特权

评论回复
44
童雨竹| | 2025-3-14 07:50 | 只看该作者
写入 EEPROM(Flash)之前,先检查 Flash 页是否已擦除,不能直接改写。

使用特权

评论回复
45
Uriah| | 2025-3-14 07:51 | 只看该作者
你是单次存储还是需要频繁更新?如果是频繁更新,建议用 双页轮换 技术,避免 Flash 损耗过快。

使用特权

评论回复
46
Clyde011| | 2025-3-14 07:51 | 只看该作者
Flash 读是直接从存储地址取数据,比如 *(uint32_t*)EEPROM_ADDR,你试过这样读取吗?

使用特权

评论回复
47
万图| | 2025-3-14 07:52 | 只看该作者
HAL 库有 FLASH_Program_Word() 可以写 32 位整型,读取直接用指针访问 Flash 地址。

使用特权

评论回复
48
zephyr9| | 2025-3-16 11:36 | 只看该作者
Float才是不好处理的,不过在C语言里还是算好处理的

使用特权

评论回复
49
线稿xg| | 2025-3-17 23:37 | 只看该作者
当然可以,一个字节一个字节地写入数据是单片机。

使用特权

评论回复
50
哪吒哪吒| | 2025-3-20 08:02 | 只看该作者
单片机存储数据需要指定地址,最好提前设计。

使用特权

评论回复
51
MintMilk| | 2025-3-20 17:25 | 只看该作者
存入得时候默认是大端还是小端?

使用特权

评论回复
52
Moon月| | 2025-3-23 22:31 | 只看该作者
连续写操作只需先设定地址,然后直接发送数据即可。

使用特权

评论回复
53
AIsignel| | 2025-3-25 22:55 | 只看该作者
整形大小取决于其数据类型,比如int通常是4字节,long可能是8字节。

使用特权

评论回复
54
AutoMotor| | 2025-3-30 09:48 | 只看该作者
每次读取一个字节,存入数组,最后合并字节成完整数据。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则