找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 979|回复: 1
打印 上一主题 下一主题
收起左侧

单片机flash掉电存不了数据,麻烦指导一下哪里有问题

[复制链接]
跳转到指定楼层
楼主
各位大佬帮忙看下,谢谢大家

void SaveAllPar(void)
{
      uint i;
          u8 tempd;
          i=EEPROM_BASE_ADDRESS;
          FSCMD=0;
          LOCK  = CMD_DATA_AREA_UNLOCK;
         for(i=EEPROM_BASE_ADDRESS;i<EEPROM_BASE_ADDRESS+32;i++)
         {
                  PTSH = (unsigned char)(i>>8);  
            PTSL = (unsigned char)i;  
            FSCMD = CMD_DATA_AREA_READ;
                tempd=FSDAT;
                FSCMD = 0;
            if( tempd== 0xFF)
        break;
    }
  if(i==EEPROM_BASE_ADDRESS+32)
        {
           PTSH = 0;  
           PTSL = 0;      
           FSCMD = CMD_DATA_AREA_ERASE_PAGE;
           i =EEPROM_BASE_ADDRESS;
        }
        
          FSCMD = 0;
      PTSH = (unsigned char)(i>>8);  
          PTSL = (unsigned char)i;
          FSCMD = CMD_DATA_AREA_WIRTE_PAGE;
          FSDAT = dim_data;
          FSDAT = up_flag;
      
            FSCMD = 0;
          LOCK  = CMD_FLASH_LOCK;
}
void LoadAllPar(void)
{
    uint i;
    u8 tempd;
    FSCMD = 0;
    LOCK  = CMD_DATA_AREA_UNLOCK;
  for(i=EEPROM_BASE_ADDRESS;i<EEPROM_BASE_ADDRESS+32;i++)
    {
                  PTSH = (unsigned char)(i>>8);
            PTSL = (unsigned char)i;  
            FSCMD = CMD_DATA_AREA_READ;
                tempd=FSDAT;
                FSCMD = 0;
            if(tempd==0xFF)
        break;
    }
  if(i==EEPROM_BASE_ADDRESS)
        {   
    dim_data=255;               
    up_flag=0;
        }
  else
        {
             i--;
             FSCMD = 0;
             PTSH =(unsigned char)(i>>8);   
             PTSL = (unsigned char)i;  
                 FSCMD = CMD_DATA_AREA_READ;  
             dim_data= FSDAT;
             up_flag=FSDAT;
         
             FSCMD = 0;
             LOCK  = CMD_FLASH_LOCK;                              
        }
        
}

企业51hei截图_16534614081025.png (112.29 KB, 下载次数: 47)

企业51hei截图_16534614081025.png

企业51hei截图_16534614248932.png (101.47 KB, 下载次数: 41)

企业51hei截图_16534614248932.png

企业51hei截图_16534614407624.png (37.58 KB, 下载次数: 49)

企业51hei截图_16534614407624.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:743992 发表于 2022-5-25 22:31 | 只看该作者
大概率是数据没写进去,不是掉电的问题
写之前一定要先擦,确保写入的背景是空白的,所有数据都能正常写入;
擦、写完了之后要读一遍,确保真的写进去了;
有的单片机可能有flash加密,擦除完之后独到的可能不是全F(一般是安全类的芯片),但写入数据之后一定要读一遍。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表