stm8s003f3 选项字 编程的问题

2019-12-28 17:51发布

想通过程序iap方式直接配置选项字,程序如下:

void OPT_Config(void)
{
  if(FLASH_ReadOptionByte(OPTION_BYTE_START_PHYSICAL_ADDRESS+3) != 0x01fe)
  {
    FLASH_Unlock(FLASH_MEMTYPE_PROG);
    FLASH_ProgramOptionByte((OPTION_BYTE_START_PHYSICAL_ADDRESS+3), 0x01);
    FLASH_Lock(FLASH_MEMTYPE_PROG);

    while(1);  //不仿真时写入数据不成功,在此处会循环复位,仿真就会成功写入!!!
  }
}

出现这样的问题:仿真状态下可更改选项字没问题,但设备正常工作状态下配置就不成功了。请教各位老师这是什么问题?