串口调试助手代码分析3计算机Labview计算机Labview.pdf
《串口调试助手代码分析3计算机Labview计算机Labview.pdf》由会员分享,可在线阅读,更多相关《串口调试助手代码分析3计算机Labview计算机Labview.pdf(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 5 章串口调试助手代码分析 1、建立基于对话框的工程 SCOMM 2、绘制界面,如下图:接收区 串口 组合框:IDC_COMBO_COMSELECT,m_Com 波特率组合框:IDC_COMBO_SPEED,m_Speed 停止位组合框:IDC_COMBO_STOPBITS,m_StopBits 数据位组合框:IDC_COMBO_DATABITS,m_DataBits 校验位组合框:IDC_COMBO_PARITY,m_Parity 十六进制显示(接收):IDC_CHECK_HEXRECIEVE,m_ctrlHexReceieve 接收编辑框:IDC_EDIT_RECIVE,m_Recei
2、veData m_ctrlReceiveData Style:Vertical Scroll MultiLine 打开串口 IDC_BUTTON_OPENPORT,m.ctrlOpenPort 串口开关标志图标 IDC _STATIC_OPENOFF,m_ctrIIconOpenoff 数据文件保存路径 IDC _EDIT_SAVEPATH,m_strCurPath 保存显示数据文件路径 IDC _EDIT_SAVEPATH,m_ctrlSavePath 接收计数 IDC_STATIC_RXCOUNT,m_ctrlRXCOUNT 发送区 3、添加 CSeraiPort 类文件 将类文件 Ser
3、ialPort.h SerialPort.cpp 复制到工程所在文件夹中(选择改进后的 类),然后单击 VC6.0 菜单 Projrct-Add to Projrct-Files.在打开的文件 选择对话框中选择 SerialPort.h 和 SerialPort.cpp,点击 OK,就把类文件加入当前 工程,并在SCOMMDlg.h 中加入头文件,include,SerialPort.hn,通过上述步 骤就在当前工程中加入了 CSeraiPort 类。4、完成串口消息处理函数 OnConmnmicatiom 在 CserailPort 类中有多个串口事件可以响应。在一般串口编程中,只需要处理
4、WM_COMM_RXCHAR消息就可以了,该类所有的消息均需要人工添加消息处理 函数。我们将处理函数名定义为 OnComm()。首先在 SCOMMDlg.h 中添加串 口字符接收消息 WM_COMM_RXCHAR(串口接收缓冲区内有一个字符)响应函 数的声明:如下图 OOOL R Npetftrt;HICOH Rubicon;/Gnirratffd nrssiigr furKtisns/J IXIHT!V_trilC7(.0UiI“办“1 耐胡记)QN MW SYSCCMMRfVO nu MM BA I MT/%接着,在 SCOMMDlg.cpp 文件中加入函数 OnCommunication
5、VPARAM ch,LPARAM port 的实现,暂不添加代码。LONG CSCOMMDlg:OnCommunlcation(WPARAM ch,LPARAM port return 0;以上步骤需要手工完成。至此完成了程序的对话框模板,在工程中插入了串口操作类 CserailPort 类。5、添加串口初始化及关闭 数据位组合框校验位组合框十六进制显示接收接收编辑框打开串口串口开关标志图标数据文件保存路径保存显示数据文件路径接收计数发送区添加类文件将类文件复制到工程所在文件夹中选择改进后的类然后单击菜单在打开的文件串口消息处理函数在类中有多个串口事件可以响应在一般串口编程中只需要处理消息就可
6、以了该类所有的消息均需要人工添加消息处理函数我们将处理函数名定义为首先在中添加串口字符接收消息串口接收缓冲区内有一个字符响应骤需要手工完成至此完成了程序的对话框模板在工程中插入了串口操作类类添加串口初始及关闭程序中有两种方法大开串口一是程序启动调用函数就可以打开串口缺少的串口号为如果不存在或占用就会给出提示另外单击打开串口按程序中有两种方法大开串口,一是程序启动,调用 OnlnitDialog()函数,就可以 打开串口,缺少的串口号为 COM1,如果 COM1 不存在或占用,就会给出提示;另 外,单击“打开串口 按钮也可以打开串口。在初始化中打开串口 BOOL CSCOMMDlg:OnInit
7、Dialog(m_nBaud=9600;/波特率 m_nCom=l;/串 口号 m_c ParltjN*;奇偶校验 m_nDatabits=8;/数据位 m_nStopbits=l;停止位 m_dwCoinmEvents=EV_RXFLAG I EV_RXCHAR;串 口事件/if(m_Port.InitPort(this,1,9600,*N,8,l,dwCommEventsl2 CString strStatus;if(m_Port.InltPort(this,m_nCoin,m_nBaiid,m_cParity,m_nDatabits,m_nStopbits,m_dwCoinmEvents
8、,512/如果启动 串口成功 m_Port StartMonitoring(;/启动监测辅肋线程 strStatus.FormatCTATUS:COM%d OPENED,%d,%c,%d,%dn,m_nCoin,m_nBaud,m_cParity,m_nDatabits,in_nStopbits;打印串 口状态及参数 m_ctrlIconOpenoff.SetIcon(m_hIconRe(l;/m_ctrlIconOpenofT.SetIcon(m_hIconOff;”当前状态:串口打开,无奇偶校验,8 数据位,1 停止位“;else/如果启动失败 数据位组合框校验位组合框十六进制显示接收接收
9、编辑框打开串口串口开关标志图标数据文件保存路径保存显示数据文件路径接收计数发送区添加类文件将类文件复制到工程所在文件夹中选择改进后的类然后单击菜单在打开的文件串口消息处理函数在类中有多个串口事件可以响应在一般串口编程中只需要处理消息就可以了该类所有的消息均需要人工添加消息处理函数我们将处理函数名定义为首先在中添加串口字符接收消息串口接收缓冲区内有一个字符响应骤需要手工完成至此完成了程序的对话框模板在工程中插入了串口操作类类添加串口初始及关闭程序中有两种方法大开串口一是程序启动调用函数就可以打开串口缺少的串口号为如果不存在或占用就会给出提示另外单击打开串口按AfxMessageBox 没有发现此
10、串口 H;m_ctrlIconOpenoff.SetIcon(mJiIconOff;m_ctrlPortStatus.SetWindowText(strStatus;显示串口 的状态及参数 return b;6、在 Class Wizard 中为按钮“打开串口”控制 IDC_BUTTON_OPENPORT添加单击 响应函数。打开,关闭串口 void CSCOMMDlg:OnButtonOpenport(/TODO:Add vour control notification handler code here m_bOpenPort=!m_bOpenPort;取反 if(m_bOpenPort
11、关闭串口 if(m_ctrlAutoSend.GetCheck(m_bOpenPort=!m_bOpenPort;AfxMessageBoxC-it 先关掉自动发送”;return;m_ctrlOpenPort.SetWindowText(H 打开串口 H;m_Port.ClosePort(;/关闭串口 in_ctrlPortStatus.SetWindowText(HSTATUS:COM Port Closed1*;数据位组合框校验位组合框十六进制显示接收接收编辑框打开串口串口开关标志图标数据文件保存路径保存显示数据文件路径接收计数发送区添加类文件将类文件复制到工程所在文件夹中选择改进后的类
12、然后单击菜单在打开的文件串口消息处理函数在类中有多个串口事件可以响应在一般串口编程中只需要处理消息就可以了该类所有的消息均需要人工添加消息处理函数我们将处理函数名定义为首先在中添加串口字符接收消息串口接收缓冲区内有一个字符响应骤需要手工完成至此完成了程序的对话框模板在工程中插入了串口操作类类添加串口初始及关闭程序中有两种方法大开串口一是程序启动调用函数就可以打开串口缺少的串口号为如果不存在或占用就会给出提示另外单击打开串口按m_ctrlIconOpenoff.SetIcon(m_hIconOff;else/打开串口 m_ctrlOpenPort.SetWindowText(n 关闭串口 n;C
13、String strStatus;lf(m_Port.InitPort(this,m_nCom,m_nBaud,m_cParity4n_nDatabits,m_nStopbits3n_dwCommEvents,512 m_Port.StartMonitoring(;m_ctrlIconOpenoff.SetIcon(m_hIconRed;/m_hIconRed;串 口打开时的红灯图标句柄 strStatus.FormatCTATUS:COM%d OPENED,%d,%c,%(l,%d,m_nCom,m_nBaud,m_cParity4n_nDatabitsm_nStopbits;”当前状态:串
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 串口 调试 助手 代码 分析 计算机 Labview
限制150内