Files
RS485_T1_Transition/Source/SYSTEM/inc/eeprom.h
yeyangwen 5a726f7378 feat:修改设备类型
feat:修改为红外转发设备,将中弘网关协议转换为主机红外协议
2026-02-09 17:48:39 +08:00

94 lines
3.0 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#ifndef _EEPROM_H_
#define _EEPROM_H_
#include "apt32f102.h"
/*地址范围0x10000000~0x100007FFDROM 每页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