xqg119 发表于 2024-5-31 14:12:58

用EEPROM例程,开机读的第一个数始终是00

用的例程,开机读的每一个数始终是00,不管哪个地址,同一地址,每二次读就正常,为什么会这样??大神解释一下

55337575 发表于 2024-5-31 15:23:28

将程序修改一下试试:
读:
_nop_();
_nop_();
IAP_TRIG = 0x5a;                            //写触发命令(0x5a)
_nop_();
_nop_();
    IAP_TRIG = 0xa5;                            //写触发命令(0xa5)
    _nop_();                                    //
_nop_();
    IapIdle();                                  //关闭IAP功能

写:
_nop_();
_nop_();
IAP_TRIG = 0x5a;                            //写触发命令(0x5a)
_nop_();
_nop_();
    IAP_TRIG = 0xa5;                            //写触发命令(0xa5)
   delay(5);
    IapIdle();                                  //关闭IAP功能

擦除:
_nop_();
_nop_();
IAP_TRIG = 0x5a;                            //写触发命令(0x5a)
_nop_();
_nop_();
    IAP_TRIG = 0xa5;                            //写触发命令(0xa5)
   delay(20);
    IapIdle();                                  //关闭IAP功能

xqg119 发表于 2024-5-31 15:52:26

可以了,就是你说的这个问题,谢谢

55337575 发表于 2024-5-31 16:13:33

嗯。这个延时是象征性的,应该可以缩短,希望有官方技术数据给予支持
页: [1]
查看完整版本: 用EEPROM例程,开机读的第一个数始终是00