串口助手步骤cjq

上传人:宝路 文档编号:7140616 上传时间:2017-09-16 格式:DOC 页数:56 大小:979.56KB
返回 下载 相关 举报
串口助手步骤cjq_第1页
第1页 / 共56页
串口助手步骤cjq_第2页
第2页 / 共56页
串口助手步骤cjq_第3页
第3页 / 共56页
串口助手步骤cjq_第4页
第4页 / 共56页
串口助手步骤cjq_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《串口助手步骤cjq》由会员分享,可在线阅读,更多相关《串口助手步骤cjq(56页珍藏版)》请在金锄头文库上搜索。

1、建立 SCOMM 程序串口助手背景:vc+2005,不需要什么特殊空间(spcomm 之类的什么都不需要)1 打开 vc+2005,新建 MFC AppWizard,名字 SCOMM,基于对话框的。确定完成。2 建立界面如下:代码如下:SCOMMDlg.cpp/ SCOMMDlg.cpp : 实现文件/#include stdafx.h#include SCOMM.h#include SCOMMDlg.h#ifdef _DEBUG#define new DEBUG_NEW#endif/ 用于应用程序“关于” 菜单项的CAboutDlg 对话框class CAboutDlg : public C

2、Dialogpublic:CAboutDlg();/ 对话框数据enum IDD = IDD_ABOUTBOX ;protected:virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV 支持/ 实现protected:DECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD)void CAboutDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);BEGIN_MESSAGE

3、_MAP(CAboutDlg, CDialog)END_MESSAGE_MAP()/ CSCOMMDlg 对话框CSCOMMDlg:CSCOMMDlg(CWnd* pParent /*=NULL*/): CDialog(CSCOMMDlg:IDD, pParent), m_ReceiveData(_T(), m_strSendData(_T()m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME);/自己添加初始化变量值m_bAutoSend=FALSE;m_bStopDispRXData=FALSE;m_bOpenPort=FALSE;m_nCycleTi

4、me=1000;void CSCOMMDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/接收区域DDX_Control(pDX, IDC_COMBO_COMSELECT, m_Com);DDX_Control(pDX, IDC_COMBO_SPEED, m_Speed);DDX_Control(pDX, IDC_COMBO_STOPBITS, m_StopBits);DDX_Control(pDX, IDC_COMBO_DATABITS, m_DataBits);DDX_Control(pDX, IDC_COM

5、BO_PARITY, m_Parity);DDX_Control(pDX, IDC_BUTTON_STOPDISP, m_ctrlStopDisp);DDX_Control(pDX, IDC_CHECK_HEXRECIEVE, m_ctrlHexReceieve);DDX_Control(pDX, IDC_BUTTON_OPENPORT, m_ctrlOpenPort);DDX_Control(pDX, IDC_EDIT_RECIVE, m_ctrlReceiveData);DDX_Text(pDX, IDC_EDIT_RECIVE, m_ReceiveData);DDX_Control(pD

6、X, IDC_CHECK_AUTOCLEAR, m_ctrlAutoClear);/2个计数的DDX_Control(pDX, IDC_STATIC_RXCOUNT, m_ctrlRXCOUNT);DDX_Control(pDX, IDC_STATIC_TXCOUNT, m_ctrlTXCount);DDX_Control(pDX, IDC_BUTTON_COUNTRESET, m_ctrlCounterReset);/清空计数/发送区域DDX_Control(pDX, IDC_BUTTON_MANUALSEND, m_ctrlManualSend);DDX_Control(pDX, IDC_

7、CHECK_AUTOSEND, m_ctrlAutoSend);DDX_Control(pDX, IDC_CHECK_HEXSEND, m_ctrlHexSend);DDX_Control(pDX, IDC_EDIT_SEND, m_ctrlEditSend);DDX_Text(pDX, IDC_EDIT_SEND, m_strSendData);DDX_Control(pDX, IDC_BUTTON_CLEARRECASENDA, m_ctrlClearTXData);/关闭按钮DDX_Control(pDX, IDC_BUTTON_CLOSE, m_ctrlClose);DDX_Contr

8、ol(pDX, IDC_STATIC_STATUS, m_ctrlPortStatus);BEGIN_MESSAGE_MAP(CSCOMMDlg, CDialog)ON_MESSAGE(WM_COMM_RXCHAR, OnCommunication)/自加的ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()/AFX_MSG_MAPON_BN_CLICKED(IDC_BUTTON_MANUALSEND, &CSCOMMDlg:OnBnClickedButtonManualsend)ON_BN_CLICKED(IDC_BUTTON_OPENPO

9、RT, &CSCOMMDlg:OnBnClickedButtonOpenport)ON_WM_DESTROY()ON_WM_TIMER()ON_BN_CLICKED(IDC_CHECK_AUTOSEND, &CSCOMMDlg:OnBnClickedCheckAutosend)ON_EN_CHANGE(IDC_EDIT_SEND, &CSCOMMDlg:OnEnChangeEditSend)ON_EN_CHANGE(IDC_EDIT_CYCLETIME, &CSCOMMDlg:OnEnChangeEditCycletime)ON_BN_CLICKED(IDC_BUTTON_CLEAR_RECI

10、_AREA, &CSCOMMDlg:OnBnClickedButtonClearReciArea)ON_BN_CLICKED(IDC_BUTTON_STOPDISP, &CSCOMMDlg:OnBnClickedButtonStopdisp)/ ON_CBN_SELCHANGE(IDC_COMBO_DATABITS, &CSCOMMDlg:OnCbnSelchangeComboDatabits)ON_CBN_SELENDOK(IDC_COMBO_COMSELECT, &CSCOMMDlg:OnCbnSelendokComboComselect)ON_CBN_SELENDOK(IDC_COMBO

11、_SPEED, &CSCOMMDlg:OnCbnSelendokComboSpeed)ON_CBN_SELENDOK(IDC_COMBO_PARITY, &CSCOMMDlg:OnCbnSelendokComboParity)ON_CBN_SELENDOK(IDC_COMBO_DATABITS, &CSCOMMDlg:OnCbnSelendokComboDatabits)ON_CBN_SELENDOK(IDC_COMBO_STOPBITS, &CSCOMMDlg:OnCbnSelendokComboStopbits)ON_BN_CLICKED(IDC_BUTTON_CLOSE, &CSCOMM

12、Dlg:OnBnClickedButtonClose)ON_BN_CLICKED(IDC_BUTTON_CLEARRECASENDA, &CSCOMMDlg:OnBnClickedButtonClearrecasenda)ON_BN_CLICKED(IDC_BUTTON_COUNTRESET, &CSCOMMDlg:OnBnClickedButtonCountreset)ON_BN_CLICKED(IDOK, &CSCOMMDlg:OnBnClickedOk)END_MESSAGE_MAP()/ CSCOMMDlg 消息处理程序BOOL CSCOMMDlg:OnInitDialog()CDia

13、log:OnInitDialog();/ 将“关于.” 菜单项添加到系统菜单中。/ IDM_ABOUTBOX 必须在系统命令范围内。ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR);pSysMenu-AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);/ 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动/ 执行此操作SetIcon(m_hIcon, TRUE); / 设置大图标SetIcon(m_hIco

14、n, FALSE); / 设置小图标/ TODO: 在此添加额外的初始化代码m_Com.SetCurSel(0);m_Speed.SetCurSel(5);m_Parity.SetCurSel(0);m_DataBits.SetCurSel(0);m_StopBits.SetCurSel(0);/添加串口初始化m_nBaud=9600;m_nCom=1;m_cParity=N;m_nDatabits=8;m_nStopbits=1;m_dwCommEvents = EV_RXFLAG | EV_RXCHAR;/if (m_Port.InitPort(this, 1, 9600,N,8,1,dw

15、CommEvents,512)CString strStatus;if (m_Port.InitPort(this, m_nCom, m_nBaud,m_cParity,m_nDatabits,m_nStopbits,m_dwCommEvents,512)m_Port.StartMonitoring();strStatus.Format(STATUS:COM%d OPENED,%d,%c,%d,%d,m_nCom, m_nBaud,m_cParity,m_nDatabits,m_nStopbits);/m_ctrlIconOpenoff.SetIcon(m_hIconRed);/m_ctrlI

16、conOpenoff.SetIcon(m_hIconOff);/当前状态:串口打开,无奇偶校验,数据位,停止位);elseAfxMessageBox(没有发现此串口);/m_ctrlIconOpenoff.SetIcon(m_hIconOff);m_ctrlPortStatus.SetWindowText(strStatus);CEdit* pEdit=(CEdit*)GetDlgItem(IDC_EDIT_CYCLETIME);CString strText;strText.Format(%d,m_nCycleTime);pEdit-SetWindowText(strText); /Display cycle ti

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号