📄 scommtestdlg.h
字号:
// SCommTestDlg.h : header file
//
//{{AFX_INCLUDES()
#include "mscomm.h"
//}}AFX_INCLUDES
#if !defined(AFX_SCOMMTESTDLG_H__185098A9_8B9D_4BD3_88E6_3DEC1C36B426__INCLUDED_)
#define AFX_SCOMMTESTDLG_H__185098A9_8B9D_4BD3_88E6_3DEC1C36B426__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <comdef.h>
#include <afxcoll.h>
//static int count=0;
/////////////////////////////////////////////////////////////////////////////
// CSCommTestDlg dialog
// Define the two struction of data
//PLC-->PC
struct PLC2PC
{
BYTE bNewData;
BYTE bShutterOpen;
BYTE bDataError;
float fSpeed;
};
//PC-->PLC
struct PC2PLC
{
BYTE bNewData;
BYTE bShutterOpen;
BYTE nCTCount;
DWORD nCTPos[20];
};
struct ControlData
{
PLC2PC RXData;
PC2PLC SXData;
};
class CSCommTestDlg : public CDialog
{
// Construction
public:
CSCommTestDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CSCommTestDlg)
enum { IDD = IDD_SCOMMTEST_DIALOG };
CButton m_ctrlShutterOpen;
CButton m_ctrlSendAgain;
CButton m_ctrlCTPoint;
CStatic m_cnRXDataShow;
CEdit m_ClearRecord;
CButton m_ctrlHexDisplay;
CButton m_ctrlHexSend;
CComboBox m_BaudRateCombo;
CComboBox m_StopBitsCombo;
CComboBox m_ParityCombo;
CComboBox m_DataBitsCombo;
CComboBox m_ComCombo;
CMSComm m_CtrlComm;
CString m_StrRXData;
CString m_StrTXData;
CString m_strBaudRate;
CString m_strComm;
CString m_strDataBits;
CString m_strParity;
CString m_strStopBits;
BOOL m_bShutterOpen;
BOOL m_bCTPoint;
BOOL m_bSendAgain;
int m_nCTPoint;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CSCommTestDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
private:
bool m_bAutoSend;
//static int m_ByteCount;//计算收到的字节数
// Implementation
protected:
NOTIFYICONDATA tnid;
void showfuc();
void hidefuc();
void quitfuc();
HICON m_hIcon;
HICON hIcon[2];
// Generated message map functions
//{{AFX_MSG(CSCommTestDlg)
virtual BOOL OnInitDialog();
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnComm();
afx_msg void OnButtonManualsend();
afx_msg void OnTimer(UINT nIDEvent);
afx_msg void OnCheckAutosend();
afx_msg void OnPortOk();
afx_msg void OnPortdefault();
afx_msg void OnClearRecord();
afx_msg void OnSelchangeComcombo();
afx_msg void OnSelchangeBaudratecombo();
afx_msg void OnSelchangeDatabitscombo();
afx_msg void OnSelchangeParitycombo();
afx_msg void OnSelchangeStopbitscombo();
afx_msg void OnButtonSXDemandOk();
afx_msg void OnCheckSendagain();
afx_msg void OnClose();
virtual void OnCancel();
virtual void OnOK();
DECLARE_EVENTSINK_MAP()
//}}AFX_MSG
public:
int OnCreate(LPCREATESTRUCT lpCreateStruct);
void OnSysCommand(UINT nID, LPARAM lParam);
void MyFuc(DWORD lp, DWORD wp);
CString m_SXSelDemand;//可视区内发的命令字节;
float m_DynShowSpeed;
CString m_ForDynShow;
void DynShowRXData(CString str);
ControlData* ReadMemoryFile();
void CheckSXData(ControlData* controldata);
void CheckRXData();
//static int GetByteCount();
void ConvertData();
CString m_SXDataArray[20];
CString Byte2CString(BYTE bt);
void PC2PLCDataHandle(ControlData* lpcontroldata);
CString ChangetoByteLength(CString str,int nLength);
CString Decimal2Binary(CString strDecimal);
CString Binary2Decimal(CString strBinary);
void PLC2PCDataHandle();
CString m_strDataLength;
CString m_strDataDemand;
CString m_strDataDR;
CString m_strDataChecksum;
char m_CTCountOrNot;
int m_RXDataByteCount;
ControlData m_ControlData;
//ControlData* m_lpControlData;
bool m_RXDataFlag;//接收到新数据flag
bool m_RXDataSuccess;//接收数据成功
bool m_SXDataSuccess;//发送数据成功
CString m_SXDataAgain;//数据不完整,请求PC重发“0”,“1”;
CString m_RXDataAgain;//数据不完整,请求PLC重发“0”,“1”;
CString m_SXDataAgainByte;//数据不完整,请求PLC重发;
CString m_RXDataAgainByte;//要求重新收的送出去的命令
char ConvertHexChar(char ch);
int String2Hex(CString str, CByteArray &senddata);
void Config();
bool m_AutoSendFlag;
CSpinButtonCtrl* pSpin;
CString m_StrRXData1;
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_SCOMMTESTDLG_H__185098A9_8B9D_4BD3_88E6_3DEC1C36B426__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -