STM8S 片内EEPROM 数据写不进去

2019-07-19 21:20发布

用的是IAR编译器,碰到了一个奇怪的问题 EEPROM的地址范围是0x4000~0x43ff

向0x4000 写数据是可以的 eeprom_write_bytes(0x4000,"1234",4);

但向0x4100写数据就不可以eeprom_write_bytes(0x4100,"1234",4),通过STVP查看存储区,没有数据写入

下面是代码,麻烦给指点下,谢谢!
void eeprom_write(unsigned long addr,unsigned char num)
{
 FLASH_WaitForLastOperation(FLASH_MEMTYPE_DATA);  //确保前面的操作完成
 FLASH_Unlock(FLASH_MEMTYPE_DATA); //解锁写保护
 
 FLASH_ProgramByte(addr,num);
 
 FLASH_WaitForLastOperation(FLASH_MEMTYPE_DATA);  //等待操作完成
 FLASH_Lock(FLASH_MEMTYPE_DATA); //写保护
} void eeprom_write_bytes(unsigned long addr,unsigned char *pbuf,unsigned char len)
{
 unsigned char i;
 for(i=0;i<len;i++)
 {
  eeprom_write(addr+i,*pbuf++);
 }
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。