flash某位置已经写好数据,能否不用擦除继续覆盖写入数据

2019-07-14 18:33发布

如图所示。地址0x6200位置处,已经写入了0x00000002,能否再次在地址0x6200处再次写入另外一个数据,例如0x00000003.求教各位大神指点如何操作。我在测试时发现如果第一次写入的是0x00,可以再次写入别的数据,如果写入非0数,就不能再次写入了。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
ctx1129
1楼-- · 2019-07-15 01:13
跨界F16 发表于 2018-8-15 06:51
本帖最后由 bargagebaobei 于 2018-3-27 10:27 编辑

貌似不可以 只能弄出来 然后擦除 在和后续数据一起再写进去

嗯,flash擦除次数只有10K,想着尽可能少擦除,不然用不了几次就废了
跨界F16
2楼-- · 2019-07-15 03:44
10K足够用啦
苏州名之卓
3楼-- · 2019-07-15 05:52
先读出这个扇区的所有数据放在数组中,然后在数组中把你要写入的数据写到相应的位置,再次擦除该扇区,再把数组中的内容写入扇区,这样又可保存扇区中原来的内容,同时也写入的自己的数据。
asd010
4楼-- · 2019-07-15 10:16
flash不是只能把位1写成0,0要变回1只能擦除嘛。擦除之后flash都是FF,写入时就是把FF中的某个bit位1变成0。
ctx1129
5楼-- · 2019-07-15 11:44
 精彩回答 2  元偷偷看……
ctx1129
6楼-- · 2019-07-15 16:38
苏州名之卓 发表于 2018-8-15 07:28
先读出这个扇区的所有数据放在数组中,然后在数组中把你要写入的数据写到相应的位置,再次擦除该扇区,再把数组中的内容写入扇区,这样又可保存扇区中原来的内容,同时也写入的自己的数据。

嗯  目前看只有这一种办法了

一周热门 更多>