#ifndef _HBFRAME_H #define _HBFRAME_H #include "Basedefine.h" #define HB_DATA_RP_FUN (0x32) #pragma pack(1) #define AFN_HEART 0x2F //链路维持报 #define AFN_RP_TIME 0x32 //遥测站定时报 #define AFN_RP_HOURTIME 0x34 //遥测站小时报 #define AFN_QRY_HOURTIME 0x37 //中心站查询遥测站实时数据 #define AFN_QRY_VER 0x45 //查询遥测终端软件版本 #define AFN_INIT 0x47 //初始化固态存储数据 #define AFN_RECOVER 0x48 //恢复终端出厂设置 #define AFN_MODIFY_PWD 0x49 //修改密码 #define AFN_SET_RTC 0x4A //设置遥测站时钟 #define AFN_SET_ICCARD 0x4B //设置遥测终端 IC 卡状态 #define AFN_CTL_SHUIBANG 0x4C //控制水泵开关命令/水泵状态信息自报 #define AFN_CTL_FAMEN 0x4D //控制阀门开关命令/阀门状态信息自报 #define AFN_CTL_ZAMEN 0x4E //控制闸门开关命令/闸门状态信息自报 #define AFN_CTL_WATER_VALUE 0x4F //水量定值控制命令 #define AFN_QRY_EVENT 0x50 //中心站查询遥测站事件记录 #define AFN_QRY_RTC 0x51 //中心站查询遥测站时钟 struct hb_struct { u8 head[2]; //帧起始符 2 u8 centeraddr; //中心站地址 1 u8 collectaddr[5]; //遥测站地址 40=28 5 u8 pwd[2]; //密码 (根据主站下发的变化) 2 u8 fn; //功能码 u8 len[2]; //报文上下行标志及长度 0000 上行 1000 下行 60 = 3C 2 u8 start; //报文起始符 u8 serial[2]; //流水号 }; u8 get_center_addr(); u8 * get_hb_addr(); void hbp2from16(unsigned char * p2,unsigned short val); u16 get_send_serial(); u16 get_password(); #pragma pack() #endif