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

📄 comassistdlg.h

📁 参考萧峰工作室的串口例程,使用mscomm 6.0编写,创新之处在于程序启动时自动检测并安装ocx控件,自动检测串口,单个文件方便使用,不需要手动安装ocx控件,另外也有许多细小功能的增加,如16进制
💻 H
字号:
// COMAssistDlg.h : 头文件
//

#include "mscomm.h"

#pragma once


// CCOMAssistDlg 对话框
class CCOMAssistDlg : public CDialog
{
// 构造
public:
	CCOMAssistDlg(CWnd* pParent = NULL);	// 标准构造函数

// 对话框数据
	enum { IDD = IDD_COMASSIST_DIALOG };
	CMSComm	m_ctrlComm;
	CString	m_strSend;
	CString	m_strReceive;
	CString	m_strPortName;
	int		m_nDataBits;
	int		m_nStopBits;
	CString	m_strBaudRate;
	int		m_nCheckBit;
	CString	m_strRceivedBytes;
	CString	m_strSendBytes;
	CString	m_strSendPeriod;
	CString	m_strPortState;
	BOOL	m_bSendHex;
	BOOL	m_bReceivedHex;
	BOOL	m_bWindowTop;
	BOOL	m_bAutoSend;
	BOOL	m_bAutoNewLine;

	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV 支持


// 实现
protected:
	HICON m_hIcon;

	// 生成的消息映射函数
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnButtonManualSend();
	afx_msg void OnButtonExit();
	afx_msg void OnButtonAbout();
	afx_msg void OnButtonClearSend();
	afx_msg void OnButtonClearReceive();
	afx_msg void OnButtonClearState();
	afx_msg void OnButtonOpenComm();
	afx_msg void OnButtonSaveReceive();
	afx_msg void OnCheckWndTop();
	afx_msg void OnCheckAutoNewLine();
	afx_msg void OnCheckSendHex();
	afx_msg void OnCheckRcvHex();
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg void OnCheckAutoSendPeriodically();
	afx_msg void OnClose();
	DECLARE_MESSAGE_MAP()

private:
	BOOL m_bReceiveOver;
	UINT m_nTxLength;
	UINT m_nRxLength;
	BYTE m_byteRxData[5000];
	CString m_strCurrentOpenPort;
	CString m_strLastSavePath;
	
private:
	void InitPort(void);
	BOOL CheckPort(CString strPortName=_T("COM1"));
	BOOL OpenPort(UINT nPortName=0, CString strSetting=_T("9600,n,8,1"));
	BOOL ClosePort(void);
	UINT QueryComm(CString strPortName=_T("COM1"));
	BOOL OnOpenComm(void);
	
	void HandleCommand(BYTE* rxdata, UINT len);
	
	CString FilterHexStr(CString strHex);
	UINT HexStr2ByteArray(CString strHex, CByteArray* byteData);
	void SaveSetting(void);
	void GetSetting(void);
	BOOL Convert2Hex(CString strSrcFilename, CString strDstFilename);
	DECLARE_EVENTSINK_MAP()
	void OnComm();
};

⌨️ 快捷键说明

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