STM32
直播中

石正厚

7年用户 1139经验值
私信 关注
[问答]

STM8s 003 EEPROM断电后不保存,eeprom数据被清零的原因?

    STM8s003EEPROM 断电后不保存怎么回事,eeprom数据被清零

void EEPROM(void)
{

p = (unsigned char *)0x4000; //  指针p指向芯片内部的EEPROM第一个单元

// 对数据EEPROM进行解锁
do
{
FLASH_DUKR = 0xae;// 写入第一个密钥
FLASH_DUKR = 0x56; // 写入第二个密钥
} while((FLASH_IAPSR   0x08) == 0); // 若解锁未成?Γ 则重新再来

*p= 0x12;// 写入第一个字节

while((FLASH_IAPSR   0x04) == 0);// 等待写操作成功

ch = *p; // 将写入的内容读到变量ch中
  FLASH_IAPSR=0x08;
}[/td]
以下内容为评论
[td]是不是你写的不对,003我试过,是可以的 [/td]

[td]这是主程序,不是上电就烧写EEPROM的,按下按键K3随机产生一个数存到eeprom中的
main()
{
        uint i;
        dex=0;
        
        CLK_Init ();
        IO_Tnit ();
        tiM1_Init();
        TIM2_Init();
        while (1)
  {
TxData();
         if(K3==0)
   {
    EEPROM();
                while(K3==0)
              {               
                                    TxSycn();
                                                  for (i = 0; i <3; i++)                    
            {
                    TxByte(ch);                  //发送
            }
                           
        }
   }
        //        TxSycn();
   
        }
} [/td]

[td]什么叫随机产生一个数,明明写的是0x12, [/td]

[td]
星辰一方 发表于 2015-7-31 10:10
什么叫随机产生一个数,明明写的是0x12,


0x12固定值调试下看下行不行,断电果断不行。 [/td]

[td]帮顶.    [/td]

回帖(1)

郭中

2024-5-13 17:29:55
STM8s003 EEPROM断电后不保存,数据被清零的原因可能有以下几点:

1. EEPROM未正确解锁:在进行EEPROM操作之前,需要先解锁EEPROM。如果解锁失败,可能导致写入操作不成功。在您提供的代码中,已经使用了双重密钥来解锁EEPROM,但是需要确保FLASH_IAPSR寄存器的DUL位(位3)被正确设置。

2. 写入操作未成功完成:在进行EEPROM写入操作时,需要等待FLASH_IAPSR寄存器的EOP位(位2)被设置,表示写操作已完成。在您的代码中,已经使用了while循环来等待写操作成功,但是需要确保循环条件正确。

3. 指针p未正确指向EEPROM地址:在您的代码中,指针p被设置为指向0x4000地址,这是STM8S003系列的EEPROM起始地址。请确保您的硬件平台与STM8S003系列兼容,并且EEPROM地址没有被其他用途占用。

4. 电源问题:如果电源不稳定或电压不足,可能导致EEPROM写入操作失败。请检查电源电路,确保电源稳定且电压符合EEPROM的工作要求。

5. 硬件故障:如果上述原因都排除了,那么可能是EEPROM硬件本身存在问题。可以尝试更换EEPROM芯片或联系硬件供应商寻求技术支持。

为了解决这个问题,您可以尝试以下步骤:

1. 确保EEPROM解锁操作正确执行,检查FLASH_IAPSR寄存器的DUL位是否被正确设置。

2. 确保写入操作成功完成,检查FLASH_IAPSR寄存器的EOP位是否被正确设置。

3. 检查指针p是否正确指向EEPROM地址,确保地址没有被其他用途占用。

4. 检查电源电路,确保电源稳定且电压符合EEPROM的工作要求。

5. 如果问题仍然存在,尝试更换EEPROM芯片或联系硬件供应商寻求技术支持。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分