liu570712224 发表于 2026-2-24 21:59:31

stc32g eeprom操作问题

    addr1 = 0x0000;
    IAP_EraseSector(addr1);
                //epdate1 = IAP_ReadByte(addr1);
                IAP_ProgramByte(addr1, 0xF0);               
                //epdate2 = IAP_ReadByte(addr1);
                addr1++;
                IAP_ProgramByte(addr1, 0xF1);               
                //epdate3 = IAP_ReadByte(addr1);
                addr1++;
                IAP_ProgramByte(addr1, 0xF2);
                //epdate4 = IAP_ReadByte(addr1);
    addr1 = 0x0000;
                epdate2 = IAP_ReadByte(addr1);
                addr1++;
          epdate3 = IAP_ReadByte(addr1);
                addr1++;
          epdate4 = IAP_ReadByte(addr1);
测试结果:epdate2 、epdate3 、epdate4都是0xF2
    addr1 = 0x0000;
    IAP_EraseSector(addr1);
                epdate1 = IAP_ReadByte(addr1);
                IAP_ProgramByte(addr1, 0xF0);               
                epdate2 = IAP_ReadByte(addr1);
                addr1++;
                IAP_ProgramByte(addr1, 0xF1);               
                epdate3 = IAP_ReadByte(addr1);
                addr1++;
                IAP_ProgramByte(addr1, 0xF2);
                epdate4 = IAP_ReadByte(addr1);
测试结果:epdate2 、epdate3 、epdate4分别为0xF0、0xF1、0xF2

这个是为什么呢?还有EEROM的地址空间其实位置可以直接写0x0000吗,我试过地址写成0xFE0000也是同样的结果

               

乘风飞扬 发表于 2026-2-25 09:05:36

烧录附件例子到芯片里试试,通过串口打印EEPROM操作结果
页: [1]
查看完整版本: stc32g eeprom操作问题