📄 fabc.cpp
字号:
// Fabc.cpp : implementation file
//
#include "stdafx.h"
#include "mscomabc.h"
#include "Fabc.h"
#include "CMscom.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CFabc
CCMscom mscom;
IMPLEMENT_DYNCREATE(CFabc, CFormView)
CFabc::CFabc()
: CFormView(CFabc::IDD)
{
//{{AFX_DATA_INIT(CFabc)
m_read = _T("");
m_write = _T("");
//}}AFX_DATA_INIT
}
CFabc::~CFabc()
{
mscom.CloseConnection();
}
void CFabc::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CFabc)
DDX_Control(pDX, IDC_BUTTON2, m_openport);
DDX_Control(pDX, IDC_COMBO3, m_ctrlDataBits);
DDX_Control(pDX, IDC_COMBO4, m_ctrlBaud);
DDX_Control(pDX, IDC_COMBO5, m_ctrlStopBits);
DDX_Control(pDX, IDC_COMBO2, m_ctrlParity);
DDX_Control(pDX, IDC_COMBO1, m_ctrlPort);
DDX_Text(pDX, IDC_EDIT2, m_read);
DDX_Text(pDX, IDC_EDIT1, m_write);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CFabc, CFormView)
//{{AFX_MSG_MAP(CFabc)
ON_BN_CLICKED(IDC_BUTTON1, Onsend)
ON_BN_CLICKED(IDC_BUTTON2, OnButtonOpencom)
ON_BN_CLICKED(IDC_BUTTON3, OnClosecom)
ON_BN_CLICKED(IDC_BUTTON4, Onread)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CFabc diagnostics
#ifdef _DEBUG
void CFabc::AssertValid() const
{
CFormView::AssertValid();
}
void CFabc::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CFabc message handlers
void CFabc::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
//对对话框的显示情况进行初始化
m_ctrlPort.AddString(_T("COM1"));
m_ctrlPort.AddString(_T("COM2"));
m_ctrlPort.SetWindowText(_T("COM1"));
m_ctrlParity.AddString(_T("NONE"));
m_ctrlParity.AddString(_T("EVEN"));
m_ctrlParity.AddString(_T("ODD"));
// m_ctrlParity.SetCurSel(m_nParity);
m_ctrlParity.SetWindowText(_T("NONE"));
m_ctrlDataBits.AddString(_T("5"));
m_ctrlDataBits.AddString(_T("6"));
m_ctrlDataBits.AddString(_T("7"));
m_ctrlDataBits.AddString(_T("8"));
m_ctrlDataBits.SetWindowText(_T("8"));
m_ctrlBaud.AddString(_T("300"));
m_ctrlBaud.AddString(_T("600"));
m_ctrlBaud.AddString(_T("1200"));
m_ctrlBaud.AddString(_T("2400"));
m_ctrlBaud.AddString(_T("9600"));
m_ctrlBaud.AddString(_T("14400"));
m_ctrlBaud.AddString(_T("19200"));
m_ctrlBaud.AddString(_T("38400"));
m_ctrlBaud.AddString(_T("57600"));
m_ctrlBaud.SetWindowText(_T("9600"));
m_ctrlStopBits.AddString(_T("1"));
m_ctrlStopBits.AddString(_T("1.5"));
m_ctrlStopBits.AddString(_T("2"));
m_ctrlStopBits.SetWindowText(_T("1"));
// m_ctrlStopBits.SetCurSel(m_nStopBits);
// GetDlgItem(IDC_PORT)->EnableWindow(!m_bConnected);
// return TRUE;
//-----------------------------------------------------
}
void CFabc::Onsend() //---------------发送
{
char buff[200];//,buff2[200]
CString ss;
DWORD l,k;
UpdateData(true);
l=m_write.GetLength();
memcpy(buff,m_write,l);
UpdateData(false);
k=mscom.WriteComm(buff,l);
//---------------------------------------------
/*
k=mscom.ReadComm(buff2,l);
buff2[l]='\0';
m_read=(char *)buff2;
UpdateData(false);
*/
}
void CFabc::OnButtonOpencom() //打开串口
{
CString str;
char temp[10];
mscom.OpenConnection(0);
m_openport.EnableWindow(false);
}
void CFabc::OnClosecom() //关闭串口
{
mscom.CloseConnection();
}
void CFabc::Onread()
{
char buff[200],buff2[200];
CString ss;
DWORD l,k;
//int j;
k=mscom.ReadComm(buff2,k);
// buff2[0]=k;
buff2[k]='\0';
m_read=(char *)buff2;
UpdateData(false);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -