#if !defined(_INCLUDE_GREE_HEAD_H) #define _INCLUDE_GREE_HEAD_H #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include //GREE 设备Dll错误代码定义 enum __ERRO_CODE_GREE { ERR_CODE_GREE_COM_FAULT = 21801 , // GREE设备串口通信故障 ERR_CODE_GREE_COM_BUSY , // GREE设备串口通信忙 ERR_CODE_GREE_COM_READ_NO_DATA , // GREE设备没有读到数据 ERR_CODE_GREE_COM_READ_LEN_OVER , // GREE设备读到数据长度超时限制 ERR_CODE_GREE_COM_LRC_LOST , // GREE设备lrc校验失败 EER_CODE_GREE_COM_WRITE_DATA , // GREE设备写串口错误 EER_CODE_GREE_COM_REGNUM , // GREE设备寄存器数 ERR_CODE_GREE_COM_VARLEN , // GREE设备变量长度错误 }; #pragma pack(push) //保存对齐状态 #pragma pack(1)//设定为4字节对齐 typedef struct tagPORTPARAM { BYTE PortNo; //Com端口 DWORD BaudRate; //波特率 BYTE ByteSize; /* Number of bits/byte, 4-8 */ BYTE Parity; /* 校验位 0-4=None,Odd,Even,Mark,Space */ BYTE StopBits; /* 结束位 0,1,2 = 1, 1.5, 2 */ BYTE StartAddr; //起止地址 int Interval; //间隔时间 tagPORTPARAM() { PortNo=3; BaudRate=CBR_9600; ByteSize=8; Parity=NOPARITY; StopBits=ONESTOPBIT; StartAddr=1; Interval=1000; } }PORTPARAM,*PPORTPARAM; //遥感编码(具体含义见协议说明) typedef struct __RS_CODE_1 { BYTE szReverse[3]; // 1.7 1.6 1.5 无定义 BYTE szStatus; // 1.4 查询状态时为0,设置状态则为1。查询时无所谓什么信息发过来,空调只会返回自身的状态。 BYTE szMode[4]; // 1.3 1.2 1.1 1.0 1000--自动;1001--制冷;1010--抽湿;1011--送风;1100--制热。 0001--关机 // 1. 3:1---开机;0---关机 }RsCode1; typedef struct __RS_CODE_2 { BYTE szTempSetPoint[4]; //2.7 2.6 2.5 2.4 0000—1110;16℃-30℃。 BYTE szSleep; //2.3:1---睡眠;0---无睡眠。 BYTE szPutWind; //2.2:1---扫风;0---关扫风。1 BYTE szFanSpeed[2]; //2.1-2. 0:00---自动风;01---低风;10---中风;11---高风。 }RsCode2; typedef struct __RS_CODE_3 { BYTE szTime[4]; //3.7 3.6 3.5 3.4 0000—1001:0小时-9小时 BYTE szTime4; //3.3 1---有定时;0---无定时。 BYTE szTime3; //3.2 1---定时十位数为2;0---定时十位数不是2。 BYTE szTime2; //3.1 1---定时个位数为1;0---定时个位数不是1。 BYTE szTime1; //3.0 1---定时十分位为5;0---定时十分位为0。 }RsCode3; typedef struct __RS_CODE_4 { BYTE szRevers1[2]; //无定义 4.7 4.6 BYTE szTradeAir[2]; //4.5-4.4:00---无换气:01---换气1;10---换气2。 BYTE szReverse2[2]; //无定义 4.3 4.2 BYTE szLight; //4.1:1---灯光开;0---灯光关。 BYTE szRevers3; //无定义4.0 }RsCode4; //读请求 typedef struct __REQUESTPARAM { BYTE btStart; //0x07(标识符) BYTE szAddr[4]; //远程监控接口板的编码地址(编码范围0~7) BYTE szRsCode[8]; //遥感编码(具体含义见协议说明) BYTE szParity[2]; //校验码(除了标识符、结束符、检验位外,每个字节的异或结果 BYTE btEnd; //0xOD(结束符) }REQUESTPARAM, *pREQUESTPARAM; //读应答 typedef struct __RESPONSE_STRUCT { BYTE btStart; //0x08(标识符) BYTE szAddr[4]; //远程监控接口板的编码地址(编码范围0~7) BYTE szRsCode[8]; //遥感编码(具体含义见协议说明) BYTE szEnvTemp[2]; //室内环境温度 BYTE szStatus1[2]; //状态1 BYTE szStatus2[2]; //状态2 BYTE szStatus3[2]; //状态3 BYTE szParity[2]; //校验码(除了标识符、结束符、检验位外,每个字节的异或结果 BYTE btEnd; //0xOD(结束符)累加和的低8位) }RESPONSE_STRUCT, *PRESPONSE_STRUCT; #pragma pack(pop)//恢复对齐状态 #endif //!defined(_INCLUDE_HEAD_H)