Head.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #if !defined(_INCLUDE_HEAD_H)
  2. #define _INCLUDE_HEAD_H
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. #include <afxtempl.h>
  7. //AIR STULZ 设备Dll错误代码定义
  8. enum __ERRO_CODE_AIR_STULZ
  9. {
  10. ERR_CODE_AIR_STULZ_COM_FAULT = 20801 , // AIR_STULZ设备串口通信故障
  11. ERR_CODE_AIR_STULZ_COM_BUSY , // AIR_STULZ设备串口通信忙
  12. ERR_CODE_AIR_STULZ_COM_READ_NO_DATA , //AIR_STULZ设备没有读到数据
  13. ERR_CODE_AIR_STULZ_COM_READ_LEN_OVER , // AIR_STULZ设备读到数据长度超时限制
  14. ERR_CODE_AIR_STULZ_COM_LRC_LOST , // AIR_STULZ设备lrc校验失败
  15. EER_CODE_AIR_STULZ_COM_WRITE_DATA , // AIR_STULZ设备写串口错误
  16. EER_CODE_AIR_STULZ_COM_REGNUM , // AIR_STULZ设备寄存器数
  17. ERR_CODE_AIR_STULZ_COM_VARLEN , // AIR_STULZ设备变量长度错误
  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 __REQUESTPARAM
  43. {
  44. BYTE AddrCode; //地址码
  45. BYTE FuncCode; //功能码
  46. BYTE Number; //下面字节数
  47. BYTE StartAddr; //起始地址
  48. BYTE Crc[2]; //校验码
  49. }REQUESTPARAM, *pREQUESTPARAM;
  50. typedef struct __REQUESTWRPARAM
  51. {
  52. BYTE AddrCode[2]; //控制器ID
  53. BYTE FuncCode[2]; //命令ID
  54. BYTE StartAddr[4]; //起始地址
  55. BYTE RequestRegNum[4]; //读取的寄存器个数
  56. BYTE Data[8]; //设置的数据
  57. BYTE Crc[2]; //校验码位
  58. }REQUESTWRPARAM, *pREQUESTWRPARAM;
  59. //设置的通讯协议基本参数
  60. typedef struct __SETBASEPARAM
  61. {
  62. int nAddr;//地址码
  63. int nStartAddr;//起始地址
  64. int nNum;//下面的字节数
  65. BYTE FuncCode;//功能码
  66. }SETBASEPARAM, *pSETBASEPARAM;
  67. //读应答数据结构
  68. typedef struct __STATUS_STRUCT
  69. {
  70. BYTE AddrCode; //控制器ID
  71. BYTE FuncCode; //命令ID
  72. BYTE RtnByteNum; //返回字节个数
  73. }STATUS_STRUCT, *PSTATUSSTRUCT;
  74. typedef struct __RESPONSE_STRUCT
  75. {
  76. STATUS_STRUCT StatusStruct;
  77. char StrRtnMsg[10]; //返回字符串
  78. //BYTE Crc[2]; //校验码位
  79. }RESPONSE_STRUCT, *PRESPONSE_STRUCT;
  80. #pragma pack(pop)//恢复对齐状态
  81. #endif //!defined(_INCLUDE_HEAD_H)