金牌会员
- 积分
- 1294
- 金钱
- 1294
- 注册时间
- 2013-3-14
- 在线时间
- 62 小时
|
发表于 2016-7-19 17:04:30
|
显示全部楼层
/*******************************************************************************
* 文件名 :flash_eeprom.c
* 描述 :内部EEPROM读写文件
* 实验平台:STM8S105C6最小系统板
* 库版本 :V2.1.0
* 作者 :liuyong
*修改时间 :2014-03-07
*******************************************************************************/
#include "flash_eeprom.h"
/*******************************************************************************
* 名称: void FlashEeprom_Config(void)
* 功能: 设置固定的编程时间
* 形参: 无
* 返回: 无
* 说明: 在main.c文件调用
******************************************************************************/
void FlashEeprom_Config(void)//
{
FLASH_SetProgrammingTime(FLASH_PROGRAMTIME_STANDARD);
}
/*******************************************************************************
* 名称: void FlashEeprom_WriteByte(INT16U Address,INT8U Data)
* 功能: flasheeprom写一个字节函数
* 形参: Address:写入的地址
Data:待写入的数据
* 返回: 无
* 说明: 在main.c和key.c文件调用
******************************************************************************/
void FlashEeprom_WriteByte(INT16U Address,INT8U Data)
{
FLASH_Unlock(FLASH_MEMTYPE_DATA);
FLASH_ProgramByte(Address,Data);
FLASH_WaitForLastOperation(FLASH_MEMTYPE_DATA);
FLASH_Lock(FLASH_MEMTYPE_DATA);
}
/*******************************************************************************
* 名称: INT8U FlashEeprom_ReadByte(INT16U Address)
* 功能: flasheeprom读一个字节函数
* 形参: Address:读取数据的地址
* 返回: 返回想读取的数据的值
* 说明: 在main.c和key.c文件调用
******************************************************************************/
INT8U FlashEeprom_ReadByte(INT16U Address)
{
INT8U Data;
Data = FLASH_ReadByte(Address);
return Data;
}
这是我用的库函数编写的EEPROM程序,用了几年,没出现过问题。如果不想用库的话,直接去库函数里面把库函数的代码复制出来就和寄存器操作差不多了。
|
|