STC Flash 不擦除写入会发生什么情况
直接上例子:一个字节,擦除,变成0xFF
然后写入数值0x01,变成0x01
再然后写入0x00,实际存储的会变成什么?
我一直觉得应该是0x00,但是不确定,也没找到资料。 flash应该是只可以由1写成0,但是不能反过来。要变成1只能擦。 你试试不就知道了 本帖最后由 jiaowoxiaolu 于 2017-12-20 13:57 编辑
例子举错了,编辑掉,只能1变0,不能0变1 以前在飞思卡尔芯片上试过:就会变成0x00.
0xFF写0xF0,再写0X0F,最后就会变成零,再写任何数据都是为0x00 以前的系列,将1写成0,STC15系列开始,擦除后,给个字节只能写一次,再写无效。 STM32会进hardfault shuiluo2 发表于 2017-12-20 13:26
flash应该是只可以由1写成0,但是不能反过来。要变成1只能擦。
这个我知道,我想问的是写入一次之后,再写一次会怎么样。 xingkong911 发表于 2017-12-20 13:29
你试试不就知道了
试了,结果虽然是0,但是不放心。 小李非刀 发表于 2017-12-20 15:54
以前的系列,将1写成0,STC15系列开始,擦除后,给个字节只能写一次,再写无效。 ...
再写无效的意思是,有电路判断不是0xFF就拒绝写入?
我试了是可以写成0的,但是有时候(很低概率)会出现其他数值。 JoshuaAstray 发表于 2017-12-20 16:05
STM32会进hardfault
貌似不是吧,至少我用的STM32F030没有进硬件错误中断。。。。
页:
[1]