注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
北北的个人空间 https://home.eeworld.com.cn/space-uid-348360.html [收藏] [复制] [分享] [RSS]
日志

STM8S学习笔记-STM8的EEPROM操作

已有 10941 次阅读2015-12-19 17:55 |个人分类:STM8S| EEPROM

EEPROM可用于MCU断电时的重要数据的保存。

以下为STM8S003F3的EEPROM程序代码,验证可行。

#define EEPROM_HEAD_ADDR    0x004000

//当写EEPROM时,将此字节的数据写入到EEPROM的首地址,表示操作过EEPROM。
//上电读EEPROM时,若检测到EEPROM的首地址的字节为此字节则读出内部数据。
#define FLAG_VALIDDATA      0x55


//------------------------------------------------------------------------------------------------------------
// 名称: Read_EEPROM 。
// 功能: 读EEPROM,若内有有效数据则读出 。
// 调用:无 。
// 返回: 无 。
// 说明: 无。
// 形参: 无 。
// 形参取值范围: 无 。
//------------------------------------------------------------------------------------------------------------
void Read_EEPROM(void)
{
 u8 i,j;
 //EEPROM解除保护。
FLASH_Unlock(FLASH_MEMTYPE_DATA);
 
//若EEPROM的首地址即第一个字节是标志字节,可知之前向EEPROM中写入过数据,应读出。 
       if(FLASH_ReadByte(EEPROM_HEAD_ADDR) == FLAG_VALIDDATA)
       {
 //将10组共60个字节的数据从EEPROM中读出 。
for(i=0; i<10; i++)
{
for(j=0; j<6; j++)
{
Timer_Setting[i][j] = FLASH_ReadByte(EEPROM_HEAD_ADDR+1+i*6+j);
}
}  
}
//EEPROM加上保护。
FLASH_Lock(FLASH_MEMTYPE_DATA);
}


//------------------------------------------------------------------------------------------------------------
// 名称: Write_EEPROM 。
// 功能: 将数据写入到EEPROM中 。
// 调用:无 。
// 返回: 无 。
// 说明: 无。
// 形参: 无 。
// 形参取值范围: 无 。
//------------------------------------------------------------------------------------------------------------
void Write_EEPROM(void)
{
 u8 i,j;
 //EEPROM解除保护。
FLASH_Unlock(FLASH_MEMTYPE_DATA); 
//STM8S003F3一共有128字节的EEPROM空间。
//写入前,全部擦除。
for(i=0; i<128; i++)
{
FLASH_EraseByte(EEPROM_HEAD_ADDR + i);
}
//在EEPROM的首地址写入标志字节,表示EEPROM被使用过,内有有效数据。
FLASH_ProgramByte(EEPROM_HEAD_ADDR, FLAG_VALIDDATA);
 
//将10组共60个字节的数据写入EEPROM中。
        for(i=0; i<10; i++)
       {
for(j=0; j<6; j++)
{
 FLASH_ProgramByte((EEPROM_HEAD_ADDR+1+i*6+j), Timer_Setting[i][j]);
                                }
       }
       //EEPROM加上保护。
       FLASH_Lock(FLASH_MEMTYPE_DATA);
}
评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章