STC89C52自带的EEPROM为什么需要擦除呢?直接写入时,就把原来的数据覆盖了呀?
答案:1 悬赏:60 手机版
解决时间 2021-11-15 16:39
- 提问者网友:自食苦果
- 2021-11-15 09:33
STC89C52自带的EEPROM为什么需要擦除呢?直接写入时,就把原来的数据覆盖了呀?
最佳答案
- 五星知识达人网友:舍身薄凉客
- 2021-11-15 09:52
因为STC的单片机的EEPROM不是真正的EEPROM,它是拿程序储存器用IAP技术分出来的,它的实质是flash。Flash只能把1写0,把1写1。不能把0写1。只有擦除才能把0写成1。所以在写入前最好先擦除。其实如果原来的数据是0xf0,你写0x10是不用擦除的。因为0xf0(1111 0000)到0x10(0001 0000)的过程中只有写0动作。但是你写成0x11(0001 0001)就不行了,因为在最低位有个把0写1的动作。所以为了代码简便(省去判断数据的代码),就规定写入前必须擦除。另外补充一下,Flash全名叫Flash EEPROM Memory,所以也不能说STC是假的EEPROM,只是STC模糊了这个概念当卖点多赚钱。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯