职称论文发表 发表论文
职称论文 发表论文 合作流程 联系方式 论文发表
职称论文发表 会员登录 用户名: 密码: 我要注册
职称论文发表网   首页   经济论文 |法学论文 |理工科论文 |管理学论文 |计算机论文 |文史论文 |医学论文 |教育论文 |艺术论文 |社会学论文 |政治论文 |试题 |应用文 |论文投稿 |职称评定 |教案 |论文关键词 |电子商务 |体育论文 |学术机构 |发表论文 |教育资讯 |医学资讯 |物联网论文 |中国论文网 | 职称论文
职称论文 本站论文搜索
职称论文 设为首页 职称论文发表网 收藏本站 职称论文发表 联系我们
职称论文  首页-->计算机论文-->计算机理论论文-->文章正文
浅谈基于MSComm控件实现VB串口通信

作者 :董 萍更新时间:2012-11-12

职称论文发表
职称论文发表 专业提供:发表论文、论文发表、毕业论文、职称论...
住在汉口网
住在汉口网是一个专业提供汉口房产信息、车辆服务、生活服务、招...
职称论文网
职称论文网提供:发表论文、论文发表、毕业论文、职称论等服务。
(三门峡职业技术学院,河南三门峡 472000)


摘要:在WindowsXP下利用VB的串行通讯控件MSComm可实现PC机与单片机之间的串口通信。本文主要阐述如何利用VB6.0中的MSComm控件实现pc机与单片机的通信。
关键词:VB;MSComm;串口通信

中图分类号:TP311.1 文献标识码:A 文章编号:1672—545X(2007)02— —

0 引言
VB6.0是一种功能强大、简单易学的程序设计语言。它不但保留了原先Basic语言的全部功能,而且还增加了面向对象程序设计功能,方便快捷地利用ActiveX控件MSComm编制适用于数据处理、多媒体等方面的程序,本文使用VB6.0中的MSComm控件开发出了计算机串口的计算机通信程序。
1 MSComm控件的简单介绍
MSComm控件是VB6.0中的一个ActiveX控件,其提供了两种处理通信的方式:一种为事件驱动方式,当串口发生事件或错误时,该控件会产生OnComm事件,用户程序可以捕获该事件进行相应处理。另一种为查询方式,主要是定时或不定时的在用户程序中查询该控件的某些属性是否发生变化,从而确定相应处理。该控件常用的属性和方法有: Commport(设置或返回串口号)、Settings(以字符串的形式设置或返回串口通信参数)、Portopen(设置或返回串口状态)、InputMode(设置或返回接收数据的类型)、Output(设置或返回发送缓冲区中等待计算机发送的字符数)、CommEvent(依据产生的事件和错误,MSComm控件为CommEvent属性赋不同的代码,同时产生OnComm事件)等。以上这些属性都是MSComm控件实现串口通信的重要参数。
2 VB中利用Mscomm控件实现串口通信的过程
2.1 发送单片机命令
为了使主机能够对整个检测过程进行实时控制,须要在发送命令(文本方式或二进制代码)以后设定等待的时间或通过条件判断下一步指令是发达还是接收。值得注意的是,当发送的命令是二进制代码时,还要特别注意发送的格式。
当发送命令过程是一个带参过程时,发送命令会变的简便易行。具体程序如下:
Dim command As Byte
\
MSComm1.OutBufferCount=0
MSComm1.Output=输出命令
MSComm1.InBufferCount=0
\
2.2 在OnComm事件中接收数据
OnComm事件主要是检查和处理通讯错误,可以通过检查CommEvent属性的值来查询事件和错误。
\
' 错误
Case comEventBreak /收到 Break/
Case comEventCDTO /CD (RLSD) 超时/
Case comEventCTSTO /CTS Timeout/
Case comEventDSRTO /DSR Timeout/
Case comEventFrame /Framing Error/
作者简介:董萍(1980—),女,河南淮阳人,本科,三门峡职业技术学院教师,从事计算机方面的教学工作。
Case comEventOverrun /数据丢失/
Case comEventRxOver /接收缓冲区溢出/
Case comEventRxParity /Parity 错误/
Case comEventTxFull /传输缓冲区已满/
Case comEventDCB /获取DCB时意外错误/
' 事件
Case comEvCD /CD 线状态变化/
Case comEvCTS /CTS 线状态变化/
Case comEvDSR /DSR 线状态变化/
Case comEvRing /Ring Indicator 变化/
Case comEvReceive /收到 RThreshold # of chars/
Case comEvSend /传输缓冲区有 Sthreshold 个字符/
Case comEvEof /输入数据流中发现 EOF 字符/
\
3 串口通信过程中发生错误信息的处理
由于外界干扰或电压波动等原因,PC机和单片机之间的通讯可能会出现错误,如接收缓冲区溢出、网络端口超速等。这些事件都可能在代码中引起运行错误。OnComm事件可以捕捉和处理错误。在MSComm控件中就提供了一个事件OnComm,该事件可以截取串口的任何消息,转入事件处理程序。OnComm可以捕获通信时发生的串口事件和错误信息,当有串口事件或错误发生时,VB会立刻触发一个OnComm事件,程序就会自动转入OnComm事件处理程序中。而在OnComm事件中,CommEvent属性是OnComm事件的指示器,它存有最近事件或错误的数值代码,在程序中可以随时读取CommEvent属性值来了解通信的状况。但该属性在设计时是不能使用的,而且在程序运行时也是以只读形式存在的。
OnComm事件是和CommEvent属性一起使用的。当任何一个OnComm事件或错误发生时,都会使得CommEvent属性值改变,在OnComm事件处理过程中,可以通过判断CommEvent属性值,对于不同的属性值转入不同的事件处理过程,常采用的办法是
SELECT CASE
\
END SELECT。
因此,通信错误的处理程序为:
\
Case ComReceive 'Receive data /自动数据接收、监视总线通信信息/
Select Case In_buffer $
Call A
Label.Enabled=“正在执行任务1”
Call B
\
End Select
Case comFrame /通信错误处理/
X=MsgBox(“Framing Error!”,16)
\
4 结束语
运用MSComm控件有效地实现了pc机与单片机的通信,而且这种实现方法在解决各类通信问题中也具有一定的普遍性。
参考文献
[1]李华.单片机通用接口技术[M].北京:北京航空航天大学出版社,1999.
On Making True SCI according to Making Use of
MSComm ActiveX in VB
Dong Ping
(Sanmenxia Polytechnic, Henan, Sanmenxia, 472000,China)
Abstract: It can make true the serial communication interface between PC and single-chip in making use of the SCI ActiveX under Windows XP. This article elaborates making use of MSComm ActiveX of VB6.0 makes true the Correspondence between personal computer and single-chip.
Key words: VB; MSComm ; communication


收稿日期:2006—11—28
作者介绍:董萍(1980—),女,河南淮阳人,本科,三门峡职业技术学院教师,从事计算机方面的教学工作。
职称论文发表网http://www.issncn.com 职称论文发表网http://www.issncn.com

1
论文首页】【设为主页】【加入收藏】【打印本文】【回到顶部
最新上传
 武汉市发展低碳经济探讨
 “谷贱伤农”解决之道
 基于LBS和O2O的移动...
 勘察设计企业如何国际化
 区域品牌培育和提升探讨
 AHP在医药批发企业物流...
 浅谈经济发展方式与农村水...
 浅谈中小企业创业基地
 高校学生就业与政府政策之...
 农学类专业研究生如何创业
 浅谈科学地管理科技人才
 研发联盟的知识协同效应探...
 科技在新农村建设中的应用
 农业自主创新能力评价研究
 农业科技人才开发模式创新
职称论文
本站推荐
 武汉市发展低碳经济探讨
 “谷贱伤农”解决之道
 基于LBS和O2O的移动...
 勘察设计企业如何国际化
 区域品牌培育和提升探讨
 AHP在医药批发企业物流...
 浅谈经济发展方式与农村水...
 浅谈中小企业创业基地
 高校学生就业与政府政策之...
 农学类专业研究生如何创业
 浅谈科学地管理科技人才
 研发联盟的知识协同效应探...
 科技在新农村建设中的应用
 农业自主创新能力评价研究
 科技创新与现代服务业融合...
职称论文发表
所有资料均源于网上的共享资源及期刊共享,请特别注意勿做其他非法用途。
如有侵犯您的版权或其他有损您利益的行为,请联系指出,我们会立即进行改正或删除有关内容!
  网站介绍 联系我们 广告服务 网站导航 投诉建议 服务承诺 人才招聘 版权声明  
  •   投稿邮箱:83041061@qq.com    服务热线:027-62220402 手机: 18907137973
    点击及可直接咨询
    联系地址:武汉市江汉区新华下路江花苑13楼   电子地图
  • Copyright (C) 2007-2009 http://www.issncn.com/ All Rights Reserved.. 鄂ICP备:09016318号
    技术支持:腾浪科技    法律顾问:廖泉冰律师