帛灿灿 发表于 2025-6-18 07:21

F1写Flash有时候写进去有偏差?

我用HAL写Flash,写进去的值偶尔不是我给的那个,断电重启后就能看到写错了。

Clyde011 发表于 2025-6-18 07:26

Flash擦写次数多了就不靠谱了,小心用寿命。

公羊子丹 发表于 2025-6-18 07:26

Flash写之前先擦了吗?不能直接覆盖。

周半梅 发表于 2025-6-18 07:27

电源不稳的时候写Flash会出错的。

帛灿灿 发表于 2025-6-18 07:28

看下写保护是不是没关?

童雨竹 发表于 2025-6-18 07:29

写完要不要再读回来校验一下?

万图 发表于 2025-6-18 07:30

写Flash不能中断,注意屏蔽中断。

Wordsworth 发表于 2025-6-18 07:30

写地址是不是没对齐?F1对齐很严格。

Bblythe 发表于 2025-6-18 07:31

写多了有可能Flash磨损,换段地址试试。

Pulitzer 发表于 2025-6-18 07:32

HAL库封装的写函数有坑,我后来用寄存器写的。

Uriah 发表于 2025-6-18 07:33

写的速度快了也会写不进去,延时试试。

麻花油条 发表于 2025-6-18 16:46

Flash 擦除操作不正确?

flycamelaaa 发表于 2025-6-18 18:00

STM32 Flash 存储器在写入新数据前必须先擦除原有数据,若擦除操作未完成或未按页/扇区正确执行,可能导致数据覆盖时出现残余信息。

powerantone 发表于 2025-6-18 19:00

在写入前检查数据长度是否符合页对齐要求,如果不符,需填充至整页后再写入。例如,若要写入一个字节的数据,可先将其扩展为半字,再写入。

stormwind123 发表于 2025-6-18 19:00

可能系统时钟不稳定或电源电压波动。

probedog 发表于 2025-6-18 20:30

增加滤波电容,减少电源噪声的影响。

jcky001 发表于 2025-6-18 22:00

Flash 存储器有一定的擦写寿命限制,频繁的擦写操作可能导致某些存储单元失效,影响数据完整性。

cr315 发表于 2025-6-18 22:00

选择高质量的 Flash 芯片以延长使用寿命。

classroom 发表于 2025-6-25 21:00

在 Flash 操作期间关闭全局中断,或者使用互斥锁机制避免中断干扰。
页: [1]
查看完整版本: F1写Flash有时候写进去有偏差?