新人请教一下STC32G12K128的EEPROM几个问题
新人哈,都自学自个琢磨的,请教一下EEPROM几个问题。STC32G12K128的EEPROM
1:关于写入只能1变0,不能0变1。
例如:地址0x0123h原始数据为0x55h,我直接写入0xaah,那么这个地方的数据是不是变成了0x00h,对不对。
要正确写入,先擦除0x0000h~0x0200h这个512个地址,然后再向0x0123h写入0xaah,对不对。
2:擦除,是按1个扇面擦除的。
例如:要擦除第一个扇面数据 那么IAP_ADDRH与IAP_ADDRL的数据是0x0000h~0x0200h之间任意一个值,还是必须固定0x0000h。
我也是这么理解的,应该是对的。 写: 可以将1改写成0,但0不会被改写成1
擦除:是擦除整个扇区,将0/1都擦除成1 神农鼎 发表于 2024-4-25 20:46
写: 可以将1改写成0,但0不会被改写成1
擦除:是擦除整个扇区,将0/1都擦除成1 ...
他问的好像不是这个,我看懂他的问题了。但是不知道答案。他的意思是擦除时给的地址是否必须是一个扇区的起始地址?我是没用过,不然这个问题可以试一下的 擦除时给的地址是否必须是一个扇区的起始地址
===一个扇区中的任意地址都是扇区地址 数据手册上都有说明 小飞侠 发表于 2024-5-8 07:59
数据手册上都有说明
谢谢 神农鼎 发表于 2024-4-25 20:46
写: 可以将1改写成0,但0不会被改写成1
擦除:是擦除整个扇区,将0/1都擦除成1 ...
擦除很费时间,如果一个扇区没有用满,知道这个扇区中某一地址上数据是1111 1111,
是不是可以直接写入新数据而不用进行擦除操作?
eeprom每个字节原始值都是ff8个位都是1,可以把某些位写成0,从而形成数据,但是只能从1写成0不能从0写成1,
擦除是按扇区擦除的,地址的低9个二进制位没有意义。 擦除时地址范围内的512个字节全部擦除。地址是擦除页内的任何地址都可以。
页:
[1]
2