94 lines
3.0 KiB
C
94 lines
3.0 KiB
C
|
|
#ifndef _EEPROM_H_
|
|||
|
|
#define _EEPROM_H_
|
|||
|
|
|
|||
|
|
#include "apt32f102.h"
|
|||
|
|
|
|||
|
|
/*地址范围:0x10000000~0x100007FF,DROM 每页64BYTE,按页分配*/
|
|||
|
|
#define EEPROM_MCUDevInfo_Address 0x10000000 //MCU 设备信息地址固定为0x10000000,大小为0x40 此区域不可改动
|
|||
|
|
|
|||
|
|
/*APP*/
|
|||
|
|
#define EEPROM_ParaInfo_Address 0x10000100
|
|||
|
|
|
|||
|
|
#define EEPROM_TOUCHPARA1_SaveAddr 0x10000200
|
|||
|
|
#define EEPROM_TOUCHPARA2_SaveAddr 0x10000280
|
|||
|
|
#define EEPROM_TOUCHPARA3_SaveAddr 0x10000300
|
|||
|
|
/* EEPROM 保存数据格式:
|
|||
|
|
* FLAG - 1Byte 保存标志位
|
|||
|
|
* LEN - 2Byte 保存数据长度
|
|||
|
|
* CHECK - 1Byte 保存数据校验
|
|||
|
|
* DATA - nByte 保存数据内容
|
|||
|
|
*
|
|||
|
|
* */
|
|||
|
|
|
|||
|
|
/*APP*/
|
|||
|
|
#define EEPROM_APP_SVAE_FLAG 0xA6
|
|||
|
|
#define EEPROM_APP_DATA_Size_Max 100 //目前保存数据内容最长为100Byte
|
|||
|
|
//#define EEPROM_PARA_Size 50
|
|||
|
|
|
|||
|
|
#define EEPROM_Offset_SaveFlag 0x00
|
|||
|
|
#define EEPROM_Offset_Datalen 0x01
|
|||
|
|
#define EEPROM_Offset_Check 0x03
|
|||
|
|
#define EEPROM_Offset_Data 0x04
|
|||
|
|
|
|||
|
|
#define EEPROM_TempDifference_Default 0x09 //温差 - 默认为0x09
|
|||
|
|
#define EEPROM_TempSelect_Default 0x00 //温度显示 - 默认摄氏度
|
|||
|
|
#define EEPROM_TouchLevel_Default 0x01 //触摸按键等级 - 默认为0x01 中灵敏度
|
|||
|
|
#define EEPROM_LangueSelect_Default 0x00 //显示语言 - 默认0x00中英文混合
|
|||
|
|
|
|||
|
|
#define ACTIVE_PORT 0x02 //主动端口
|
|||
|
|
#define POLLING_PORT 0x01 //轮训端口
|
|||
|
|
|
|||
|
|
/*boot*/
|
|||
|
|
|
|||
|
|
#define EEPROM_SVAE_FLAG 0xAE
|
|||
|
|
#define EEPROM_DATA_Size_Max 0x40 //目前保存数据内容最长为100Byte
|
|||
|
|
#define EEPROM_PARA_Size 50
|
|||
|
|
#define EEPROM_DEV_NAME_Size 32
|
|||
|
|
|
|||
|
|
typedef struct{
|
|||
|
|
|
|||
|
|
U8_T dev_addr; //设备地址
|
|||
|
|
U8_T pipe_flag; //管制选择
|
|||
|
|
U8_T temp_diff; //温差 0~18
|
|||
|
|
U8_T temp_select; //温度显示单位选择 0x00:摄氏度 0x01:华氏度
|
|||
|
|
U8_T backlight_en; //背光延时关闭标记 0x00:延时关 0x01:延时关闭开
|
|||
|
|
U8_T key_sens_level; //按键灵敏度
|
|||
|
|
U8_T langue_select; //设置显示语言
|
|||
|
|
|
|||
|
|
U8_T dev_port; //设备处于RCU的端口类型 1:轮训端口 2:主动端口 2024-12-16增加
|
|||
|
|
}E_PARA_INFO;
|
|||
|
|
|
|||
|
|
|
|||
|
|
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;
|
|||
|
|
|
|||
|
|
extern E_PARA_INFO g_eeprom;
|
|||
|
|
|
|||
|
|
void EEPROM_Init(void);
|
|||
|
|
U8_T EEPROM_CheckSum(U8_T *data,U16_T len);
|
|||
|
|
U8_T EEPROM_ReadParaInfo(E_PARA_INFO *info);
|
|||
|
|
U8_T EEPROM_WriteParaInfo(E_PARA_INFO *info);
|
|||
|
|
U8_T EEPROM_ClearParaInfo(void);
|
|||
|
|
U8_T EEPROM_Validate_ParaInfo(E_PARA_INFO *info);
|
|||
|
|
void EEPROM_Default_ParaInfo(E_PARA_INFO *info);
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
/*boot*/
|
|||
|
|
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
|