STM8写数据到内部EEPROM,

2019-07-19 21:11发布

  while((FLASH_IAPSR&0x04)==0);会在写数据后在这个while中跳不出来,应该是FLASH_IAPSR第二位的原因,求助解决办法,感谢 这是找到的状态寄存器的位 这是找到的状态寄存器的位 ~~~



[mw_shl_code=c,true]void eeprom_init(void)
{
  FLASH_CR1=0x00;
  FLASH_CR2=0x00;
  FLASH_NCR2=0xFF;
  FLASH_DUKR=0xae;  //锁1密匙
  FLASH_DUKR=0X56;  //锁2密匙
  while((FLASH_IAPSR&0x08)==0);
//等待解密就绪
}

//EEPROM指定地址写入一个数据
void eeprom_write(unsigned char  addr, unsigned char  dat)
{
  unsigned char  *p;
  p=(unsigned char  *)(0x4000+addr);
  *p=dat;
  while((FLASH_IAPSR&0x04)==0); //等待写操作成功
}
[/mw_shl_code]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。