- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2016串口与界面设计教程
PAGE \* MERGEFORMAT24
串口虚拟软件VSPD软件的使用
VSPD是纯软件模拟实现的虚拟串口软件,对串口通讯应用系统程序的调试具有很好的帮助作用。安装并启动该软件后出现如下图1界面。
图1 VSPD操作界面图
添加串口
单击“添加端口”将成对添加虚拟串口,如图1中所示。该计算机中已有物理串口COM1和COM2,已经添加了COM3、COM4虚拟串口。再次点击“添加串口”时将添加COM5、COM6串口。
重置串口
单击“重置端口”将出现删除所有虚拟串口的界面,确定后将删除所有虚拟串口。
虚拟串口的使用
虚拟串口你的使用与物理串口一样。但需要注意的是必须按照前面添加时的顺序而成对使用。如上述图1中COM3只能与COM4配对使用。
打开两个串口调试助手窗口,一个使用COM3,另一个使用COM4。若波特率、数据位数、奇偶校验都一致时,即可顺利实现双方的数据发送与接收。如图2所示。
当用户设计开发应用程序时,使用串口调试助手使用其中一个虚拟串口,而用户程序使用该对的另一个虚拟串口,在串行通讯参数设置一致的情况下,进行发送和接收程序的调试。
图2 使用串口调试助手实现两个虚拟串口之间的通讯
串口调试助手软件的使用
目前辅助用户调试串口应用程序的软件很多,如串口调试助手等,它们的主要功能基本一样,但也有细微区别。有些软件可以实时反映当前计算机的所有串口,包括物理与虚拟串口,有些软件则是提供一定范围内的串口号,供用户选择,如从COM1到COM10。
此类软件的使用很简单,不再叙述。
用户串口应用程序的设计实现
目前编写串口应用程序的方法主要有三种。一是使用串行通讯API函数,二是使用MSCOMM控件,三是使用第三方开发的串行通讯类(如Serialport)或动态链接库。在此介绍使用简单的MSCOMM控件。
MSCOMM控件的注册
在VS2005/VS2010环境下使用该控件时首先要进行注册。
? ?将MSCOMM控件文件mscomm32.ocx放到windows/system32文件夹下。
? ?点击开始-运行,输入:Regsvr32 mscomm32.ocx,按确定按钮,弹出对话框表示成功。
图3 MSCOMM控件注册成功界面
2、使用方法
(1)新建一个MFC应用程序(基于对话框)
(2)在对话框上右击鼠标,出现如图4快捷菜单。
图4 快捷菜单
(3)单击“插入ActiveX控件”,出现如图5界面。选择Microsoft Communication Control. Version 6.0,即可在对话框上出现以电话图标形式的MSCOMM控件。
图5 选择MSCOMM控件
(4)右击该图标,在快捷菜单中选择“添加变量”,如m_mscomm1。然后在该控件的属性里添加OnComm函数(右侧属性栏上方有一个闪电图标,就是添加消息响应的地方)。
(5)添加两个编辑控件,分别添加其对应CString变量m_rev、m_send。
添加一个命令按钮IDC_BUTTON1,用于发送数据。
图6 对话框设计
(6) 编写代码
1)在BOOL CXXXDlg::OnInitDialog()初始化函数里添加如下代码:
// TODO: 在此添加额外的初始化代码
m_mscomm1.put_CommPort(3); //端口号为3
m_mscomm1.put_InBufferSize(1024); //设置输入缓冲区的大小,Bytes
m_mscomm1.put_OutBufferSize(512); //设置输出缓冲区的大小,Bytes?
if(!m_mscomm1.get_PortOpen()) //打开串口
{
m_mscomm1.put_PortOpen(true);?
}
m_mscomm1.put_InputMode(1); //设置输入方式为二进制方式?
m_mscomm1.put_Settings(L9600,n,8,1); //设置波特率等参数?
m_mscomm1.put_RThreshold(1); //为1表示有一个字符即引发事件?
m_mscomm1.put_InputLen(0);
2)OnCommMscomm1()接收数据代码
VARIANT variant_inp;
COleSafeArray safearray_inp;
long i = 0;
int len;
char rxdata[1000];
switch (m_mscomm1.get_CommEvent())
{
case 2:
//表示接缓冲区内有字符
variant_inp = m_mscomm1.get_Input();//接收数据
safearray_inp = variant
您可能关注的文档
- 2016上海普陀区初三一模数学试题及答案教程.docx
- 2016一轮复习物质跨膜运输的方式教程.ppt
- 2016下半年《数字取证》第一次作业+教程.doc
- 2016不动产数据库整合方案教程.docx
- 2016《遥感原理与应用》上机实验报告教程.doc
- 2016东城高三上学期期末(含答案)教程.docx
- 2016世界是普遍联系的PPT文档教程.ppt
- 2016东城一模教程.pptx
- 2016上海中考数学模拟试卷(2016.4)教程.doc
- 2016下半年青少年水环境科普课堂项目介绍-复件教程.pptx
- 2023年度安全员考试题库检测试题打印附答案详解(达标题).docx
- 2023年度安全员考试题库检测试题打印(实用)附答案详解.docx
- 2023年度安全员考试题库检测试题打印附完整答案详解【名师系列】.docx
- 2023年度安全员考试题库检测试题打印及答案详解【考点梳理】.docx
- 2023年度安全员考试题库检测试题打印附完整答案详解【各地真题】.docx
- 2023年度安全员考试题库检测试题打印附参考答案详解【完整版】.docx
- 2023年度安全员考试高分题库含答案详解(精练).docx
- 2023年度安全员考试高分题库及参考答案详解【能力提升】.docx
- 2023年度安全员考试高分题库附答案详解【典型题】.docx
- 2023年度安全员考试高分题库及参考答案详解(培优B卷).docx
文档评论(0)