PPWD 发表于 2011-2-17 17:32:07

STM8S读写Eeprom时候遇到问题,希望哪位大虾解答下,谢谢

我写程序把要村的数据按块的方式写入起始地址为0x4000的DATA区域,程序运行后,出现死机现象;我后面的程序设有断点,但一直停不下来),强行停下来后,提示error: swim prog error : memory write error;
即情况如下:
 while (1)
 {
   
.......  
  Write_Eeprom(Write_Block,WaiteStatus);   /*Write the Cad_Cal_Pro into Eeprom*/
  
  if(FLASH_IAPSR&0x04==1)
   {
  gTransmit_Buffer2=FLASH_ReadByte(0x4000);
  }
....
 }
程序一直不运行写Eeprom后面的程序,在写EeProm程序后面设置断点根本没有运行,单步直行每次运行完写Eeprom后就直接又一次循环了.郁闷中.
 

PPWD 发表于 2011-2-17 17:35:22

RE:STM8S读写Eeprom时候遇到问题,希望哪位大虾解答下,谢谢

其中写Eeprom程序如下:
void Write_Eeprom(u8 Write_Block,_Bool WaiteStatus)
{
          /*----------------------------- LOCAL VARIABLES -------------------------*/
        _Bool FlashWaiteStatus = 0;
/*---------------------------------- CODE -------------------------------*/
        FlashWaiteStatus = WaiteStatus;
        /* Define flash programming Time*/
        FLASH_SetProgrammingTime(FLASH_PROGRAMTIME_STANDARD);
        /* Unlock Data memory */
        FLASH_Unlock(FLASH_MEMTYPE_DATA);
        FLASH_ProgramBlock(Write_Block, FLASH_MEMTYPE_DATA, FLASH_PROGRAMMODE_STANDARD, gTransmit_Buffer2);
        if (FlashWaiteStatus)
        {
                FLASH_WaitForLastOperation(FLASH_MEMTYPE_DATA);
        }
}

发表于 2011-2-18 10:48:01

RE:STM8S读写Eeprom时候遇到问题,希望哪位大虾解答下,谢谢

你检查一下是否有死循环,如果写入失败,将继续在这里运行。
页: [1]
查看完整版本: STM8S读写Eeprom时候遇到问题,希望哪位大虾解答下,谢谢