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

查看: 13690|回复: 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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版