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

2019-07-14 18:33发布

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

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
vyewrewr
2019-07-15 22:45
STM32的Flash写入不是按位写入的,而是按照半字或者字写入的,也就是两个字节或者四个字节,一个字节一个字节的写入都不可以,更不要说是1个比特了。如果Flash中已经有了数据,想只改变部分数据,只能通过读取Flash中的数据保存在RAM中,修改RAM中的数据后擦除整页的Flash然后把RAM中的数据按照半字或者字进行写入。

一周热门 更多>