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

📄 setting.cpp

📁   本实例实现在VC下如何编写串口(com port)实例(与串口通信), 对初学者弄懂串口的实现过程是很好的一个实例.以及现实将串口读到的数据记录到一个testlog目录中,以做备份
💻 CPP
字号:
// Setting.cpp : implementation file
//

#include "stdafx.h"
#include "comport.h"
#include "Setting.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CSetting dialog


CSetting::CSetting(CWnd* pParent /*=NULL*/)
	: CDialog(CSetting::IDD, pParent)
{
	EnableAutomation();

	//{{AFX_DATA_INIT(CSetting)
	m_strDataBits = _T("");
	m_nParity = _T("");
	m_strPort = _T("");
	m_strStopBits = _T("");
	m_nFlowCtrl = -1;
	m_strBaudRate = _T("");
	//}}AFX_DATA_INIT
}


void CSetting::OnFinalRelease()
{
	// When the last reference for an automation object is released
	// OnFinalRelease is called.  The base class will automatically
	// deletes the object.  Add additional cleanup required for your
	// object before calling the base class.

	CDialog::OnFinalRelease();
}

void CSetting::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSetting)
	DDX_Control(pDX, IDC_BaudRate, m_ctrBaudRate);
	DDX_Control(pDX, IDC_Parity, m_ctrParity);
	DDX_Control(pDX, IDC_strPort, m_ctrPort);
	DDX_Control(pDX, IDC_radFlowCtrl, m_ctrFlowCtrl);
	DDX_Control(pDX, IDC_StopBits, m_ctrStopBits);
	DDX_Control(pDX, IDC_DataBits, m_ctrDataBits);
	DDX_CBString(pDX, IDC_DataBits, m_strDataBits);
	DDX_CBString(pDX, IDC_Parity, m_nParity);
	DDX_CBString(pDX, IDC_strPort, m_strPort);
	DDX_CBString(pDX, IDC_StopBits, m_strStopBits);
	DDX_Radio(pDX, IDC_radFlowCtrl, m_nFlowCtrl);
	DDX_CBString(pDX, IDC_BaudRate, m_strBaudRate);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSetting, CDialog)
	//{{AFX_MSG_MAP(CSetting)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

BEGIN_DISPATCH_MAP(CSetting, CDialog)
	//{{AFX_DISPATCH_MAP(CSetting)
		// NOTE - the ClassWizard will add and remove mapping macros here.
	//}}AFX_DISPATCH_MAP
END_DISPATCH_MAP()

// Note: we add support for IID_ISetting to support typesafe binding
//  from VBA.  This IID must match the GUID that is attached to the 
//  dispinterface in the .ODL file.

// {2A0C082C-DAA5-447B-8B80-715CC9A5C12F}
static const IID IID_ISetting =
{ 0x2a0c082c, 0xdaa5, 0x447b, { 0x8b, 0x80, 0x71, 0x5c, 0xc9, 0xa5, 0xc1, 0x2f } };

BEGIN_INTERFACE_MAP(CSetting, CDialog)
	INTERFACE_PART(CSetting, IID_ISetting, Dispatch)
END_INTERFACE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSetting message handlers

BOOL CSetting::OnInitDialog() 
{
	//UpdateData(TRUE);
	CDialog::OnInitDialog();
	m_ctrPort.AddString(_T("COM1"));
	m_ctrPort.AddString(_T("COM2"));


	m_ctrParity.AddString(_T("NONE"));
	m_ctrParity.AddString(_T("EVEN"));
	m_ctrParity.AddString(_T("ODD"));
	

	m_ctrDataBits.AddString(_T("5"));
	m_ctrDataBits.AddString(_T("6"));
	m_ctrDataBits.AddString(_T("7"));
	m_ctrDataBits.AddString(_T("8"));

	m_ctrBaudRate.AddString(_T("300"));
	m_ctrBaudRate.AddString(_T("600"));
	m_ctrBaudRate.AddString(_T("1200"));
	m_ctrBaudRate.AddString(_T("2400"));
	m_ctrBaudRate.AddString(_T("4800"));
	m_ctrBaudRate.AddString(_T("9600"));
	m_ctrBaudRate.AddString(_T("14400"));
	m_ctrBaudRate.AddString(_T("19200"));
	m_ctrBaudRate.AddString(_T("38400"));
	m_ctrBaudRate.AddString(_T("57600"));
	m_ctrBaudRate.AddString(_T("115200"));

	m_ctrStopBits.AddString(_T("1"));
	m_ctrStopBits.AddString(_T("1.5"));
	m_ctrStopBits.AddString(_T("2"));

	UpdateData(FALSE);
	
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

⌨️ 快捷键说明

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