吽吽吽 发表于 2024-4-25 19:44:26

新人请教一下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。
         

wpy621206 发表于 2024-4-25 20:22:48

我也是这么理解的,应该是对的。

神农鼎 发表于 2024-4-25 20:46:02

写:   可以将1改写成0,但0不会被改写成1
擦除:是擦除整个扇区,将0/1都擦除成1

durongze 发表于 2024-5-7 19:04:50

神农鼎 发表于 2024-4-25 20:46
写:   可以将1改写成0,但0不会被改写成1
擦除:是擦除整个扇区,将0/1都擦除成1 ...

他问的好像不是这个,我看懂他的问题了。但是不知道答案。他的意思是擦除时给的地址是否必须是一个扇区的起始地址?我是没用过,不然这个问题可以试一下的

神农鼎 发表于 2024-5-7 21:16:01

擦除时给的地址是否必须是一个扇区的起始地址
===一个扇区中的任意地址都是扇区地址

小飞侠 发表于 2024-5-8 07:59:17

数据手册上都有说明

吽吽吽 发表于 2024-5-9 12:30:07

小飞侠 发表于 2024-5-8 07:59
数据手册上都有说明

谢谢

cadplus 发表于 2024-5-29 08:50:00

神农鼎 发表于 2024-4-25 20:46
写:   可以将1改写成0,但0不会被改写成1
擦除:是擦除整个扇区,将0/1都擦除成1 ...



擦除很费时间,如果一个扇区没有用满,知道这个扇区中某一地址上数据是1111 1111,
是不是可以直接写入新数据而不用进行擦除操作?

liuzonggong 发表于 2024-11-13 17:22:58

eeprom每个字节原始值都是ff8个位都是1,可以把某些位写成0,从而形成数据,但是只能从1写成0不能从0写成1,
擦除是按扇区擦除的,地址的低9个二进制位没有意义。

Matrix 发表于 2025-2-6 08:48:29

擦除时地址范围内的512个字节全部擦除。地址是擦除页内的任何地址都可以。
页: [1] 2
查看完整版本: 新人请教一下STC32G12K128的EEPROM几个问题