STM8S读写内部EEPROM
来源:互联网 发布:手机淘宝店铺添加收藏 编辑:程序博客网 时间:2024/04/30 05:38
1初始化函数
void InitEEPROM(void){ FLASH_DeInit(); FLASH_Unlock(FLASH_MEMTYPE_DATA);//EEPROM FLASH_SetProgrammingTime(FLASH_PROGRAMTIME_TPROG); }
2.读一个字节的函数实现
/******************************************************************************** 名称: INT8U FlashEeprom_ReadByte(INT16U Address)* 功能: flasheeprom读一个字节函数* 形参: Address:读取数据的地址* 返回: 返回想读取的数据的值* 说明: 在main.c和key.c文件调用 ******************************************************************************/INT8U FlashEeprom_ReadByte(INT16U Address){ INT8U Data; Data = FLASH_ReadByte(Address); return Data;}3.读一个32位数
先定义一个联合体
union INI32{ U32 Data; U8 buf[4];};typedef union INI32 INT_32;
实现读一个32位数
u32 EEPROM_Read(U32 addr){ INT_32 data; data.buf[0]=FLASH_ReadByte(EEPROM_BASE_ADDR+addr); data.buf[1]=FLASH_ReadByte(EEPROM_BASE_ADDR+addr+1); data.buf[2]=FLASH_ReadByte(EEPROM_BASE_ADDR+addr+2); data.buf[3]=FLASH_ReadByte(EEPROM_BASE_ADDR+addr+3); return data.Data;}
4下面是实现一个字节的写和32位的写
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);}void EEPROM_Write(U32 addr,U32 data){ INT_32 Wdata;Wdata.Data=data;FLASH_ProgramByte(EEPROM_BASE_ADDR + addr, Wdata.buf[0]);FLASH_WaitForLastOperation(FLASH_MEMTYPE_DATA);FLASH_ProgramByte(EEPROM_BASE_ADDR + addr+1,Wdata.buf[1]);FLASH_WaitForLastOperation(FLASH_MEMTYPE_DATA);FLASH_ProgramByte(EEPROM_BASE_ADDR + addr+2,Wdata.buf[2]);FLASH_WaitForLastOperation(FLASH_MEMTYPE_DATA);FLASH_ProgramByte(EEPROM_BASE_ADDR + addr+3,Wdata.buf[3]);FLASH_WaitForLastOperation(FLASH_MEMTYPE_DATA);}
测试程序
int main(){ u32 a,b,c; a=55;b=33;c=66; EEPROM_Write(0x04,a); EEPROM_Write(0x08,b); EEPROM_Write(0x0c,c); a=0;b=0;c=0; a= EEPROM_Read(0x04); b=EEPROM_Read(0x08); c=EEPROM_Read(0x0c);}
阅读全文
0 0
- STM8S读写内部EEPROM
- STM8S 操作内部EEPROM
- stm8s eeprom
- STC89C52RC内部EEPROM的读写
- STC89C52RC内部EEPROM的读写
- PIC内部EEPROM读写操作
- STM8S EEPROM 操作
- AVR 内部EEPROM读写范例(M16)
- AVR 内部EEPROM读写式例
- STM32L系列单片机内部EEPROM的读写
- STM32单片机内部EEPROM的读写
- STM8S学习05——EEPROM读写操作C语言程序
- Mega48/88/128中内部EEPROM的读写
- MC9S12G128 内部flash与eeprom的读写配置
- MC9S12G128 内部flash与eeprom的读写配置
- MC9S12G128 内部flash与eeprom的读写配置
- eeprom读写
- STM8L10X写内部EEPROM
- 关于okhttp缓存
- 如何做一个对账系统
- boosting tree
- 欢迎使用CSDN-markdown编辑器
- Kafka入门经典教程
- STM8S读写内部EEPROM
- Spring boot启动提示Whitelabel Error Page 401 spring需要授权登录
- Java重写
- Mybatis批量保存
- 什么时候mybatis 使用@param
- 暴力+字符串——A*B Problem
- maven配置文件setting.xml、pom.xml
- Java 中的异常和处理详解
- LOL卡特基础连招与细节探究