testMscommDlg.h
上传用户:zjgyljx
上传日期:2022-08-04
资源大小:45k
文件大小:3k
源码类别:

通讯编程

开发平台:

Visual C++

  1. // testMscommDlg.h : 头文件
  2. //
  3. #pragma once
  4. #include <string>
  5. #include <iostream>
  6. #define TIMER_READ_DATA 1
  7. #define ChkBytes 1
  8. //ICC Type Flag
  9. #define ICC_32 0x01
  10. #define ICC_42 0x11
  11. #define ICC_18 0x02
  12. #define ICC_04 0x03
  13. #define ICC_06 0x04
  14. #define ICC_36 0x14
  15. #define ICC_24C01 0x08
  16. #define ICC_24C02 0x09
  17. #define ICC_24C04 0x0a
  18. #define ICC_24C08 0x0b
  19. #define ICC_24C16 0x0c
  20. #define ICC_24C32 0x0d
  21. #define ICC_24C64 0x0e
  22. #define ICC_101 0x13
  23. #define ICC_102 0x23
  24. #define ICC_1604 0x1c
  25. #define ICC_1604A 0x2c
  26. #define ICC_1608 0x3c
  27. #define ICC_64 0x1e
  28. #define ICC_T0 0x05
  29. #define ICC_T1 0x06
  30. #define ICC_TCL         0x07
  31. #define  RECV_DLE        0
  32. #define RECV_DLE_NAK    1
  33. #define RECV_STX        2
  34. #define RECV_DATA       3
  35. #define RECV_DATA_DLE 4
  36. #define MIS_OK          0
  37. #define         MIS_NOECHO      1
  38. #define MIS_OVERFLOW    199
  39. #define MIS_VALSTRUCT   200
  40. #define MIS_TIMEOUT 201
  41. #define MIS_WRITECOMM 202
  42. #define MIS_READCOMM    203
  43. #define         MIS_SERERR      204
  44. #define MIS_RS232ERR 205
  45. #define MIS_BYTESERR 206
  46. #define MIS_CHECKERR 207
  47. #define     MIS_TOOLONG 208
  48. #define HEADER 3
  49. #define MAXDATA 250
  50. #define BCC_CHKBYTES 1
  51. #define CRC_POLYNOM 0x1021
  52. #define CRC_PRESET 0xFFFF
  53. #define CRC_CHKBYTES 2
  54. #define CRC8 0xc7
  55. #define MI_CRC_ZERO 0
  56. #define MI_CRC_NOTZERO 1
  57. // CtestMscommDlg 对话框
  58. class CtestMscommDlg : public CDialog
  59. {
  60. // 构造
  61. public:
  62. CtestMscommDlg(CWnd* pParent = NULL); // 标准构造函数
  63. // 对话框数据
  64. enum { IDD = IDD_TESTMSCOMM_DIALOG };
  65. protected:
  66. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
  67. // 实现
  68. protected:
  69. HICON m_hIcon;
  70. HANDLE hCom;
  71. DWORD dwError;
  72. LPCTSTR  comm;
  73.     DCB config_;
  74. bool isStartTimer;
  75. BYTE cSeqNr,Attempt;
  76. BYTE cBuffer[128];
  77.     DWORD dwLen;
  78. // 生成的消息映射函数
  79. virtual BOOL OnInitDialog();
  80. afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
  81. afx_msg void OnPaint();
  82. afx_msg HCURSOR OnQueryDragIcon();
  83. DECLARE_MESSAGE_MAP()
  84. public:
  85. afx_msg void OnBnClickedButtonOpencomm();
  86. public:
  87. afx_msg void OnBnClickedButtonClosecomm();
  88. public:
  89. CString CStrCmd;
  90. public:
  91. CString CStrReceive;
  92. public:
  93. afx_msg void OnBnClickedButtonSenddata();
  94. public:
  95. afx_msg void OnBnClickedButtonSetup();
  96. public:
  97. afx_msg void OnBnClickedButtonTimeout();
  98. public:
  99. afx_msg void OnBnClickedButtonReaddata();
  100. public:
  101. afx_msg void OnTimer(UINT_PTR nIDEvent);
  102. public:
  103. BYTE SndCmd(HANDLE hCom);
  104. BYTE RcvDat(HANDLE hCom);
  105. BYTE Set_port(HANDLE hCom,BYTE port);
  106. void CalcChkBytes();
  107. BYTE TypeSelect(HANDLE hCom,BYTE TypeSelect);
  108. unsigned int MIFwakeup(HANDLE hCom,BYTE fICC,unsigned char *lenr,unsigned char *resp);
  109. void BinToHex(BYTE dt,char *ch);
  110. BYTE HexToBin(char *_ch);
  111. public:
  112. afx_msg void OnBnClickedButtonReset();
  113. public:
  114. afx_msg void OnBnClickedButtonAuthen();
  115. };