📄 storage.h
字号:
#define ZT_OFFSET_MONTH 2 // 时区信息(月) - 1字节
#define ZT_OFFSET_DAY 1 // 时区信息(日) - 1字节
#define ZT_OFFSET_POTNUM 0 // 时区信息(日时段表号) - 1字节
/* 公共假日定义(MMDDNN) */
#define BASE_PUBV (unsigned short)(BASE_ZTSTA+BASE_ZTSTA_OFFSET*12)
#define BASE_PUBV_OFFSET 3
#define ADDR_OF_PUBV_01 (unsigned short)(BASE_PUBV+BASE_PUBV_OFFSET*0) // 第1公共假日日期及日时段表号 - 3字节 - C411 - 95.
#define ADDR_OF_PUBV_02 (unsigned short)(BASE_PUBV+BASE_PUBV_OFFSET*1) // 第2公共假日日期及日时段表号 - 3字节 - C412 - 95.01
#define ADDR_OF_PUBV_03 (unsigned short)(BASE_PUBV+BASE_PUBV_OFFSET*2) // 第3公共假日日期及日时段表号 - 3字节 - C413 - 95.02
#define ADDR_OF_PUBV_04 (unsigned short)(BASE_PUBV+BASE_PUBV_OFFSET*3) // 第4公共假日日期及日时段表号 - 3字节 - C414 - 95.03
#define ADDR_OF_PUBV_05 (unsigned short)(BASE_PUBV+BASE_PUBV_OFFSET*4) // 第5公共假日日期及日时段表号 - 3字节 - C415 - 95.04
#define ADDR_OF_PUBV_06 (unsigned short)(BASE_PUBV+BASE_PUBV_OFFSET*5) // 第6公共假日日期及日时段表号 - 3字节 - C416 - 95.05
#define ADDR_OF_PUBV_07 (unsigned short)(BASE_PUBV+BASE_PUBV_OFFSET*6) // 第7公共假日日期及日时段表号 - 3字节 - C417 - 95.06
#define ADDR_OF_PUBV_08 (unsigned short)(BASE_PUBV+BASE_PUBV_OFFSET*7) // 第8公共假日日期及日时段表号 - 3字节 - C418 - 95.07
#define ADDR_OF_PUBV_09 (unsigned short)(BASE_PUBV+BASE_PUBV_OFFSET*8) // 第9公共假日日期及日时段表号 - 3字节 - C419 - 95.08
#define ADDR_OF_PUBV_10 (unsigned short)(BASE_PUBV+BASE_PUBV_OFFSET*9) // 第10公共假日日期及日时段表号 - 3字节 - C41A - 95.09
#define ADDR_OF_PUBV_11 (unsigned short)(BASE_PUBV+BASE_PUBV_OFFSET*10) // 第11公共假日日期及日时段表号 - 3字节 - C41B - 95.10
#define ADDR_OF_PUBV_12 (unsigned short)(BASE_PUBV+BASE_PUBV_OFFSET*11) // 第12公共假日日期及日时段表号 - 3字节 - C41C - 95.11
#define ADDR_OF_SPRING_FEST (unsigned short)(BASE_PUBV+BASE_PUBV_OFFSET*12) // 春节三天采用日时段表号 - 1字节 - C41D - 95.20
#define ADDR_OF_WEEKEND (unsigned short)(ADDR_OF_SPRING_FEST+1) // 周休日采用的日时段表号 - 1字节 - C41E - 95.21
/* 公共假日存储格式定义 */
#define PUBV_OFFSET_MONTH 2 // 时区信息(月) - 1字节
#define PUBV_OFFSET_DAY 1 // 时区信息(日) - 1字节
#define PUBV_OFFSET_POTNUM 0 // 时区信息(日时段表号) - 1字节
/* 日时段表定义(HHmmNN) */
#define BASE_POT_T (unsigned short)(ADDR_OF_WEEKEND+1)
#define BASE_POT_T_OFFSET 36
#define ADDR_OF_POT_TABLE_01 (unsigned short)(BASE_POT_T+BASE_POT_T_OFFSET*0) // 第1日时段表存储地址 - 36字节 - C33X - 90.XX
#define ADDR_OF_POT_TABLE_02 (unsigned short)(BASE_POT_T+BASE_POT_T_OFFSET*1) // 第2日时段表存储地址 - 36字节 - C34X - 91.XX
#define ADDR_OF_POT_TABLE_03 (unsigned short)(BASE_POT_T+BASE_POT_T_OFFSET*2) // 第3日时段表存储地址 - 36字节 - C35X - 92.XX
#define ADDR_OF_POT_TABLE_04 (unsigned short)(BASE_POT_T+BASE_POT_T_OFFSET*3) // 第4日时段表存储地址 - 36字节 - C36X - 93.XX
#define ADDR_OF_POT_TABLE_05 (unsigned short)(BASE_POT_T+BASE_POT_T_OFFSET*4) // 第5日时段表存储地址 - 36字节 - C37X - 94.XX
#define ADDR_OF_POT_TABLE_06 (unsigned short)(BASE_POT_T+BASE_POT_T_OFFSET*5) // 第6日时段表存储地址 - 36字节 - C38X - 9.XX
#define ADDR_OF_POT_TABLE_07 (unsigned short)(BASE_POT_T+BASE_POT_T_OFFSET*6) // 第7日时段表存储地址 - 36字节 - C39X - 9.XX
#define ADDR_OF_POT_TABLE_08 (unsigned short)(BASE_POT_T+BASE_POT_T_OFFSET*7) // 第8日时段表存储地址 - 36字节 - C33X - 90.XX
#define ADDR_OF_POT_TABLE_09 (unsigned short)(BASE_POT_T+BASE_POT_T_OFFSET*8) // 第9日时段表存储地址 - 36字节 - C33X - 90.XX
#define ADDR_OF_POT_TABLE_10 (unsigned short)(BASE_POT_T+BASE_POT_T_OFFSET*9) // 第10日时段表存储地址 - 36字节 - C33X - 90.XX
#define ADDR_OF_POT_TABLE_11 (unsigned short)(BASE_POT_T+BASE_POT_T_OFFSET*10) // 第11日时段表存储地址 - 36字节 - C33X - 90.XX
#define ADDR_OF_POT_TABLE_12 (unsigned short)(BASE_POT_T+BASE_POT_T_OFFSET*11) // 第12日时段表存储地址 - 36字节 - C33X - 90.XX
/* 时段定义(HHmmNN) */
#define BASE_POT 0
#define BASE_POT_OFFSET 3
#define ADDR_OF_POT_01 (unsigned short)(BASE_POT+BASE_POT_OFFSET*0) // 第1日时段起始时间及费率 - 3字节
#define ADDR_OF_POT_02 (unsigned short)(BASE_POT+BASE_POT_OFFSET*1) // 第2日时段起始时间及费率 - 3字节
#define ADDR_OF_POT_03 (unsigned short)(BASE_POT+BASE_POT_OFFSET*2) // 第3日时段起始时间及费率 - 3字节
#define ADDR_OF_POT_04 (unsigned short)(BASE_POT+BASE_POT_OFFSET*3) // 第4日时段起始时间及费率 - 3字节
#define ADDR_OF_POT_05 (unsigned short)(BASE_POT+BASE_POT_OFFSET*4) // 第5日时段起始时间及费率 - 3字节
#define ADDR_OF_POT_06 (unsigned short)(BASE_POT+BASE_POT_OFFSET*5) // 第6日时段起始时间及费率 - 3字节
#define ADDR_OF_POT_07 (unsigned short)(BASE_POT+BASE_POT_OFFSET*6) // 第7日时段起始时间及费率 - 3字节
#define ADDR_OF_POT_08 (unsigned short)(BASE_POT+BASE_POT_OFFSET*7) // 第8日时段起始时间及费率 - 3字节
#define ADDR_OF_POT_09 (unsigned short)(BASE_POT+BASE_POT_OFFSET*8) // 第9日时段起始时间及费率 - 3字节
#define ADDR_OF_POT_10 (unsigned short)(BASE_POT+BASE_POT_OFFSET*9) // 第10日时段起始时间及费率 - 3字节
#define ADDR_OF_POT_11 (unsigned short)(BASE_POT+BASE_POT_OFFSET*10) // 第11日时段起始时间及费率 - 3字节
#define ADDR_OF_POT_12 (unsigned short)(BASE_POT+BASE_POT_OFFSET*11) // 第12日时段起始时间及费率 - 3字节
#endif
/* 电能起始读数 */
#define ADDR_OF_STA_RDDATA_AP_S (unsigned short)(ADDR_OF_DATE+BASE_TIME_OFFSET)//(unsigned short)(BASE_POT_T+BASE_POT_T_OFFSET*12) // 正向有功总电能起始读数(kWh) - 4字节 - C119 - 83.08
#define ADDR_OF_STA_RDDATA_AP_F1 (unsigned short)(ADDR_OF_STA_RDDATA_AP_S+4) // 正向有功费率1电能起始读数(kWh) - 4字节 - C119 -
#define ADDR_OF_STA_RDDATA_AP_F2 (unsigned short)(ADDR_OF_STA_RDDATA_AP_F1+4) // 正向有功费率2电能起始读数(kWh) - 4字节 - C119 -
#define ADDR_OF_STA_RDDATA_AP_F3 (unsigned short)(ADDR_OF_STA_RDDATA_AP_F2+4) // 正向有功费率3电能起始读数(kWh) - 4字节 - C119 -
#define ADDR_OF_STA_RDDATA_AP_F4 (unsigned short)(ADDR_OF_STA_RDDATA_AP_F3+4) // 正向有功费率4电能起始读数(kWh) - 4字节 - C119 -
#define ADDR_OF_STA_RDDATA_AN_S (unsigned short)(ADDR_OF_STA_RDDATA_AP_F4+4) // 反向有功总电能起始读数(kWh) - 4字节 - C119 - 83.08
#define ADDR_OF_STA_RDDATA_AN_F1 (unsigned short)(ADDR_OF_STA_RDDATA_AN_S+4) // 反向有功费率1电能起始读数(kWh) - 4字节 - C119 -
#define ADDR_OF_STA_RDDATA_AN_F2 (unsigned short)(ADDR_OF_STA_RDDATA_AN_F1+4) // 反向有功费率2电能起始读数(kWh) - 4字节 - C119 -
#define ADDR_OF_STA_RDDATA_AN_F3 (unsigned short)(ADDR_OF_STA_RDDATA_AN_F2+4) // 反向有功费率3电能起始读数(kWh) - 4字节 - C119 -
#define ADDR_OF_STA_RDDATA_AN_F4 (unsigned short)(ADDR_OF_STA_RDDATA_AN_F3+4) // 反向有功费率4电能起始读数(kWh) - 4字节 - C119 -
#define ADDR_OF_STA_RDDATA_RAP_S (unsigned short)(ADDR_OF_STA_RDDATA_AN_F4+4) // 正向无功总电能起始读数(kWh) - 4字节 - C119 - 83.08
#define ADDR_OF_STA_RDDATA_RAP_F1 (unsigned short)(ADDR_OF_STA_RDDATA_RAP_S+4) // 正向无功费率1电能起始读数(kWh) - 4字节 - C119 -
#define ADDR_OF_STA_RDDATA_RAP_F2 (unsigned short)(ADDR_OF_STA_RDDATA_RAP_F1+4) // 正向无功费率2电能起始读数(kWh) - 4字节 - C119 -
#define ADDR_OF_STA_RDDATA_RAP_F3 (unsigned short)(ADDR_OF_STA_RDDATA_RAP_F2+4) // 正向无功费率3电能起始读数(kWh) - 4字节 - C119 -
#define ADDR_OF_STA_RDDATA_RAP_F4 (unsigned short)(ADDR_OF_STA_RDDATA_RAP_F3+4) // 正向无功费率4电能起始读数(kWh) - 4字节 - C119 -
#define ADDR_OF_STA_RDDATA_RAN_S (unsigned short)(ADDR_OF_STA_RDDATA_RAP_F4+4) // 反向无功总电能起始读数(kWh) - 4字节 - C119 - 83.08
#define ADDR_OF_STA_RDDATA_RAN_F1 (unsigned short)(ADDR_OF_STA_RDDATA_RAN_S+4) // 反向无功费率1电能起始读数(kWh) - 4字节 - C119 -
#define ADDR_OF_STA_RDDATA_RAN_F2 (unsigned short)(ADDR_OF_STA_RDDATA_RAN_F1+4) // 反向无功费率2电能起始读数(kWh) - 4字节 - C119 -
#define ADDR_OF_STA_RDDATA_RAN_F3 (unsigned short)(ADDR_OF_STA_RDDATA_RAN_F2+4) // 反向无功费率3电能起始读数(kWh) - 4字节 - C119 -
#define ADDR_OF_STA_RDDATA_RAN_F4 (unsigned short)(ADDR_OF_STA_RDDATA_RAN_F3+4) // 反向无功费率4电能起始读数(kWh) - 4字节 - C119 -
/* ADE存储地址 250 */
#define ADDR_OF_ADE_BASE (unsigned short)(ADDR_OF_STA_RDDATA_RAN_F4+4)
/* ADE 校表数据存储地址 */
#define ADDR_OF_PHCAL_VAL (unsigned short)(ADDR_OF_ADE_BASE)
#define ADDR_OF_GAIN_VAL (unsigned short)(ADDR_OF_PHCAL_VAL+2) //0x3c//it contains 1+1 Ctrl byte (Low Importance)
#define ADDR_OF_IBGAIN_VAL (unsigned short)(ADDR_OF_GAIN_VAL+2) //0x3e//it contains 2+1 Ctrl byte (Low Importance)
#define ADDR_OF_WGAIN_VAL (unsigned short)(ADDR_OF_IBGAIN_VAL+3) //WGAIN_val[0]=LSB, WGAIN_val[1]=MSB//0x41//it contains 2+1 Ctrl byte (Low Importance)
#define ADDR_OF_VARGAIN_VAL (unsigned short)(ADDR_OF_WGAIN_VAL+3) //it contains 2+1 Ctrl byte //0x44
#define ADDR_OF_VAGAIN_VAL (unsigned short)(ADDR_OF_VARGAIN_VAL+3) //it contains 2+1 Ctrl byte //0x47
#define ADDR_OF_WATTOS_VAL (unsigned short)(ADDR_OF_VAGAIN_VAL+3) //it contains 2+1 Ctrl byte //0x4a
#define ADDR_OF_VAROS_VAL (unsigned short)(ADDR_OF_WATTOS_VAL+3) //it contains 2+1 Ctrl byte //0x4d
#define ADDR_OF_IRMSOS_VAL (unsigned short)(ADDR_OF_VAROS_VAL+3) //0x50
#define ADDR_OF_VRMSOS_VAL (unsigned short)(ADDR_OF_IRMSOS_VAL+3) //it contains 2+1 Ctrl byte //0x53
#define ADDR_OF_CF1DEN_VAL (unsigned short)(ADDR_OF_VRMSOS_VAL+3) //it contains 2+1 Ctrl byte //0x56
#define ADDR_OF_CF2DEN_VAL (unsigned short)(ADDR_OF_CF1DEN_VAL+3) //it contains 2+1 Ctrl byte //0x59
#define ADDR_OF_RTCCOMP_VAL (unsigned short)(ADDR_OF_CF2DEN_VAL+3) //it contains 1+1 Ctrl byte //0x5c
#define ADDR_OF_TEMPCAL_VAL (unsigned short)(ADDR_OF_RTCCOMP_VAL+2) //it contains 1+1 Ctrl byte //0x5e
#define ADDR_OF_I_1A_threshold_VAL (unsigned short)(ADDR_OF_TEMPCAL_VAL+2) //it contains 2+1 Ctrl byte //0x60
#define ADDR_OF_V_1V_threshold_VAL (unsigned short)(ADDR_OF_I_1A_threshold_VAL+3) //it contains 2+1 Ctrl byte //0x63
#ifndef __IAR_SYSTEMS_ICC__
extern void InitI2C(void);
extern void ee_write_byte(unsigned short addr,unsigned char idata*dat);
extern unsigned char ee_write_bytes(unsigned short addr,unsigned char idata*dat,unsigned char len);
extern void ee_read_byte(void);
extern unsigned char ee_read_bytes(unsigned short addr,unsigned char idata*dat,unsigned char len);
#else
extern unsigned char ErrIndication;
extern unsigned char I2CTemp0;
extern unsigned short I2CTemp1;
extern void InitI2C(void);
extern unsigned char ee_read_bytes(unsigned short addr, unsigned char idata*dat, unsigned char len);
extern unsigned char ee_write_bytes(unsigned short addr,unsigned char idata*dat,unsigned char len);
#endif
#endif /* STORAGE_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -