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
|