Head.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. #if !defined(_INCLUDE_GREE_HEAD_H)
  2. #define _INCLUDE_GREE_HEAD_H
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. #include <afxtempl.h>
  7. //GREE 设备Dll错误代码定义
  8. enum __ERRO_CODE_GREE
  9. {
  10. ERR_CODE_GREE_COM_FAULT = 21801 , // GREE设备串口通信故障
  11. ERR_CODE_GREE_COM_BUSY , // GREE设备串口通信忙
  12. ERR_CODE_GREE_COM_READ_NO_DATA , // GREE设备没有读到数据
  13. ERR_CODE_GREE_COM_READ_LEN_OVER , // GREE设备读到数据长度超时限制
  14. ERR_CODE_GREE_COM_LRC_LOST , // GREE设备lrc校验失败
  15. EER_CODE_GREE_COM_WRITE_DATA , // GREE设备写串口错误
  16. EER_CODE_GREE_COM_REGNUM , // GREE设备寄存器数
  17. ERR_CODE_GREE_COM_VARLEN , // GREE设备变量长度错误
  18. };
  19. #pragma pack(push) //保存对齐状态
  20. #pragma pack(1)//设定为4字节对齐
  21. typedef struct tagPORTPARAM
  22. {
  23. BYTE PortNo; //Com端口
  24. DWORD BaudRate; //波特率
  25. BYTE ByteSize; /* Number of bits/byte, 4-8 */
  26. BYTE Parity; /* 校验位 0-4=None,Odd,Even,Mark,Space */
  27. BYTE StopBits; /* 结束位 0,1,2 = 1, 1.5, 2 */
  28. BYTE StartAddr; //起止地址
  29. int Interval; //间隔时间
  30. tagPORTPARAM()
  31. {
  32. PortNo=3;
  33. BaudRate=CBR_9600;
  34. ByteSize=8;
  35. Parity=NOPARITY;
  36. StopBits=ONESTOPBIT;
  37. StartAddr=1;
  38. Interval=1000;
  39. }
  40. }PORTPARAM,*PPORTPARAM;
  41. //遥感编码(具体含义见协议说明)
  42. typedef struct __RS_CODE_1
  43. {
  44. BYTE szReverse[3]; // 1.7 1.6 1.5 无定义
  45. BYTE szStatus; // 1.4 查询状态时为0,设置状态则为1。查询时无所谓什么信息发过来,空调只会返回自身的状态。
  46. BYTE szMode[4]; // 1.3 1.2 1.1 1.0 1000--自动;1001--制冷;1010--抽湿;1011--送风;1100--制热。 0001--关机
  47. // 1. 3:1---开机;0---关机
  48. }RsCode1;
  49. typedef struct __RS_CODE_2
  50. {
  51. BYTE szTempSetPoint[4]; //2.7 2.6 2.5 2.4 0000—1110;16℃-30℃。
  52. BYTE szSleep; //2.3:1---睡眠;0---无睡眠。
  53. BYTE szPutWind; //2.2:1---扫风;0---关扫风。1
  54. BYTE szFanSpeed[2]; //2.1-2. 0:00---自动风;01---低风;10---中风;11---高风。
  55. }RsCode2;
  56. typedef struct __RS_CODE_3
  57. {
  58. BYTE szTime[4]; //3.7 3.6 3.5 3.4 0000—1001:0小时-9小时
  59. BYTE szTime4; //3.3 1---有定时;0---无定时。
  60. BYTE szTime3; //3.2 1---定时十位数为2;0---定时十位数不是2。
  61. BYTE szTime2; //3.1 1---定时个位数为1;0---定时个位数不是1。
  62. BYTE szTime1; //3.0 1---定时十分位为5;0---定时十分位为0。
  63. }RsCode3;
  64. typedef struct __RS_CODE_4
  65. {
  66. BYTE szRevers1[2]; //无定义 4.7 4.6
  67. BYTE szTradeAir[2]; //4.5-4.4:00---无换气:01---换气1;10---换气2。
  68. BYTE szReverse2[2]; //无定义 4.3 4.2
  69. BYTE szLight; //4.1:1---灯光开;0---灯光关。
  70. BYTE szRevers3; //无定义4.0
  71. }RsCode4;
  72. //读请求
  73. typedef struct __REQUESTPARAM
  74. {
  75. BYTE btStart; //0x07(标识符)
  76. BYTE szAddr[4]; //远程监控接口板的编码地址(编码范围0~7)
  77. BYTE szRsCode[8]; //遥感编码(具体含义见协议说明)
  78. BYTE szParity[2]; //校验码(除了标识符、结束符、检验位外,每个字节的异或结果
  79. BYTE btEnd; //0xOD(结束符)
  80. }REQUESTPARAM, *pREQUESTPARAM;
  81. //读应答
  82. typedef struct __RESPONSE_STRUCT
  83. {
  84. BYTE btStart; //0x08(标识符)
  85. BYTE szAddr[4]; //远程监控接口板的编码地址(编码范围0~7)
  86. BYTE szRsCode[8]; //遥感编码(具体含义见协议说明)
  87. BYTE szEnvTemp[2]; //室内环境温度
  88. BYTE szStatus1[2]; //状态1
  89. BYTE szStatus2[2]; //状态2
  90. BYTE szStatus3[2]; //状态3
  91. BYTE szParity[2]; //校验码(除了标识符、结束符、检验位外,每个字节的异或结果
  92. BYTE btEnd; //0xOD(结束符)累加和的低8位)
  93. }RESPONSE_STRUCT, *PRESPONSE_STRUCT;
  94. #pragma pack(pop)//恢复对齐状态
  95. #endif //!defined(_INCLUDE_HEAD_H)