943834526 发表于 2015-7-31 09:22:13

STM8s 003EEPROM 断电不保存怎么回事

STM8s 003EEPROM 断电后不保存怎么回事,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;
}

星辰一方 发表于 2015-7-31 09:34:46

是不是你写的不对,003我试过,是可以的

943834526 发表于 2015-7-31 09:46:00

这是主程序,不是上电就烧写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();
   
        }
}

星辰一方 发表于 2015-7-31 10:10:29

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

943834526 发表于 2015-7-31 10:18:02

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

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

mark0668 发表于 2015-7-31 16:52:18

帮顶.   
页: [1]
查看完整版本: STM8s 003EEPROM 断电不保存怎么回事