⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tcp2serialdlg.h

📁 这是一个串口和以太网口的透传转换程序
💻 H
字号:
// Tcp2SerialDlg.h : header file
//

#if !defined(AFX_TCP2SERIALDLG_H__7C5B1753_08E0_4839_B309_C427DD57CE92__INCLUDED_)
#define AFX_TCP2SERIALDLG_H__7C5B1753_08E0_4839_B309_C427DD57CE92__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

/////////////////////////////////////////////////////////////////////////////
// CTcp2SerialDlg dialog
#define DT1_REAL_VALUE			0x00000001
#define DT1_TODAY_DATA_1		0x00000002
#define DT1_TODAY_DATA_2		0x00000004
#define DT1_TOMONTH_DATA_1		0x00000008
#define DT1_TOMONTH_DATA_2		0x00000010
#define DT1_TOSEASON_DATA_1		0x00000020
#define DT1_TOSEASON_DATA_2		0x00000040

#define DT1_LASTDAY_DATA_1		0x00000002
#define DT1_LASTDAY_DATA_2		0x00000004
#define DT1_LASTMONTH_DATA_1	0x00000008
#define DT1_LASTMONTH_DATA_2	0x00000010
#define DT1_LASTSEASON_DATA_1	0x00000020
#define DT1_LASTSEASON_DATA_2	0x00000040
#pragma pack(1)

typedef struct 
{
	int tcpport;
	int comport;
	DWORD baudrate;
	BYTE bytesize;
	BYTE stopbit;
	BYTE parity;

	BOOL isClient;
	BOOL isLogin;

	CString serverIp;
	CString logFilename;	
} struInfo;

typedef struct 
{
	BYTE buffer[512];
	DWORD len;
} struCOMData;

typedef struct 
{
	DWORD cmd;
	DWORD needlen;
} struDT1Info;


typedef struct 
{
	BYTE year;
	BYTE month;
	BYTE day;
	BYTE hour;
	BYTE minute;
	BYTE second;
} struDT1Time;

typedef struct 
{
	float average;
	float max;
	float min;
	DWORD time;
	struDT1Time maxtime;
	struDT1Time mintime;
	float passvalue;
	float upvalue;
	float downvalue;
	DWORD passtime;
	DWORD uptime;
	DWORD downtime;
} struDT1Data;

typedef struct 
{
	BYTE head[2];
	BYTE cmd;
	BYTE len;
	struDT1Data dt1data;
	BYTE sumcheck;
	BYTE enddata;
} struNetWorkData;

typedef struct 
{
	BYTE head[2];
	BYTE cmd;
	BYTE len;
	float realvalue;
	BYTE sum;
	BYTE end;
} strtemp;

#pragma pack()

#include "TCPSocket.h"

class CTcp2SerialDlg : public CDialog
{
// Construction
public:
	CTcp2SerialDlg(CWnd* pParent = NULL);	// standard constructor

	void OnAccecp();
	void OnClose();
	void OnReceive();
	void OnSend(){};
	void OnConnect();


// Dialog Data
	//{{AFX_DATA(CTcp2SerialDlg)
	enum { IDD = IDD_TCP2SERIAL_DIALOG };
	CRichEditEx	m_msg;
	CListCtrl	m_list;
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CTcp2SerialDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	void OnStart( BOOL isServer = TRUE );

	BOOL OnProcessSerialComData( BYTE* pBuf, int len );
	BOOL OnProcessNetWorkComData( BYTE* pBuf, int len );

	void OnWriteToNetWork();
	void OnWriteToSerial();

	struDT1Time BCD2Hex( BYTE* buffer, int count  = 0 )
	{
		struDT1Time time;
		time.second = (buffer[0]>>4)*10+(buffer[0]&0x0f);
		time.minute = (buffer[1]>>4)*10+(buffer[1]&0x0f);
		time.hour = (buffer[2]>>4)*10+(buffer[2]&0x0f);
		time.day = (buffer[3]>>4)*10+(buffer[3]&0x0f);
		time.month = (buffer[4]>>4)*10+(buffer[4]&0x0f);
		time.year = (buffer[5]>>4)*10+(buffer[5]&0x0f);
		return time;
	}

	BYTE GetSumCheck8( BYTE* buffer, int len )
	{
		BYTE result = 0;
		for ( int i = 0; i < len; i++ )
		{
			result += buffer[i];
		}
		return result;
	}
	HICON m_hIcon;

	DWORD m_nCount;
	struDT1Info m_dt1info;
	struDT1Data m_dt1data;

	float m_realValue;

	struInfo info;
	struCOMData m_SerialData;
	struCOMData m_NetWorkData;

	struNetWorkData m_SendNetData;
	
	CSerialCom m_com;

	CTCPSocket m_tcp;
	CTCPSocket m_tcpClient;

	DWORD m_sendflag;
	DWORD m_sendNetWorkLen;
	DWORD m_sendNetWorkCmd;

	// Generated message map functions
	//{{AFX_MSG(CTcp2SerialDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnTimer(UINT nIDEvent);
	//}}AFX_MSG
	afx_msg void OnCommNotify( WPARAM wParam, LPARAM lParam );
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_TCP2SERIALDLG_H__7C5B1753_08E0_4839_B309_C427DD57CE92__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -