你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 13629|回复: 2

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

[复制链接]

4

主题

18

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2011-2-17 17:32:07 | 显示全部楼层 |阅读模式
我写程序把要村的数据按块的方式写入起始地址为0x4000的DATA区域,程序运行后,出现死机现象;我后面的程序设有断点,但一直停不下来),强行停下来后,提示error: swim prog error [42004]: memory write error;
即情况如下:
 while (1)
 {
   
.......  
  Write_Eeprom(Write_Block,WaiteStatus);   /*Write the Cad_Cal_Pro into Eeprom*/
  
  if(FLASH_IAPSR&0x04==1)
   {
  gTransmit_Buffer2[2]=FLASH_ReadByte(0x4000);
  }
....
 }
程序一直不运行写Eeprom后面的程序,在写EeProm程序后面设置断点根本没有运行,单步直行每次运行完写Eeprom后就直接又一次循环了.郁闷中.
 
回复

使用道具 举报

4

主题

18

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 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);
        }
}
回复 支持 反对

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2011-2-18 10:48:01 | 显示全部楼层

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

你检查一下是否有死循环,如果写入失败,将继续在这里运行。
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版