52 lines
1.3 KiB
C
52 lines
1.3 KiB
C
#ifndef _EEPROM_H_
|
||
#define _EEPROM_H_
|
||
|
||
#include "apt32f102.h"
|
||
|
||
/*地址范围:0x10000000~0x100007FF*/
|
||
#define EEPROM_MCUDevInfo_Address 0x10000000 //MCU 设备信息地址固定为0x10000000,大小为0x40 此区域不可改动
|
||
|
||
|
||
/* EEPROM 保存数据格式:
|
||
* FLAG - 1Byte 保存标志位
|
||
* LEN - 2Byte 保存数据长度
|
||
* CHECK - 1Byte 保存数据校验
|
||
* DATA - nByte 保存数据内容
|
||
*
|
||
* */
|
||
#define EEPROM_SVAE_FLAG 0xAE
|
||
#define EEPROM_DATA_Size_Max 0x40 //目前保存数据内容最长为100Byte
|
||
#define EEPROM_PARA_Size 50
|
||
#define EEPROM_DEV_NAME_Size 32
|
||
|
||
#define EEPROM_Offset_SaveFlag 0x00
|
||
#define EEPROM_Offset_Datalen 0x01
|
||
#define EEPROM_Offset_Check 0x03
|
||
#define EEPROM_Offset_Data 0x04
|
||
|
||
|
||
typedef struct{
|
||
|
||
U8_T dev_addr; //设备地址
|
||
U8_T dev_type; //设备类型
|
||
U8_T dev_boot_ver; //设备Boot的软件版本号
|
||
U8_T dev_app_ver; //设备APP的软件版本号
|
||
U8_T dev_name_len; //设备名称的长度
|
||
U8_T dev_name[EEPROM_DEV_NAME_Size]; //设备名称
|
||
|
||
}E_MCU_DEV_INFO;
|
||
|
||
extern E_MCU_DEV_INFO g_mcu_dev;
|
||
|
||
void EEPROM_Init(void);
|
||
|
||
|
||
U8_T EEPROM_ReadMCUDevInfo(E_MCU_DEV_INFO *info);
|
||
U8_T EEPROM_WriteMCUDevInfo(E_MCU_DEV_INFO *info);
|
||
void EEPROM_Default_MCUDevInfo(E_MCU_DEV_INFO *info);
|
||
void EEPROM_Validate_MCUDevInfo(E_MCU_DEV_INFO *info);
|
||
|
||
|
||
|
||
#endif
|