当前位置:首页 >> 信息与通信 >>

MSComm控件实现VB串口通信


《装备制造技术》 2007 年第 2 期

浅谈基于 MSComm 控件实现 VB 串口通信
F G
( 三门峡职业技术学院 , 河南 三门峡 472000)
HI: 主要阐述如何利用 VB6.0 中的 MSComm 控件实现 PC 机与单片机的通信。 KLM: VB; MSComm ; 串口通信 ’NOPQ: TP 311.1

RSTUV: A ( 2007) 02- 0057- 01 RWXQ: 1672 —545X

简单易学的程序设计语言。它不 VB6.0 是一种功能强大、 但保留了原先 Basic 语言的全部功 能 , 而 且 还 增 加 了 面 向 对 象 程序设计功能 , 方便快捷地利用 ActiveX 控件 MSComm 编制适 用于 数 据 处 理 、 多 媒 体 等 方 面 的 程 序 , 本 文 使 用 VB6.0 中 的

MSComm 控件开发出了计算机串口的计算机通信程序。 1 MS Comm !"#$%& 绍 MSComm 控件是 VB6.0 中的一个 ActiveX 控件 , 其提供了
两种处理通信 的 方 式 : 一 种 为 事 件 驱 动 方 式 , 当 串 口 发 生 事 件 或错误时 , 该控件会产生 OnComm 事 件 , 用 户 程 序 可 以 捕 获 该 事件进行相应处理。另一种为查询方式 , 主要是定时或不定时 的在用户程序中查询该控件的某些属性是否发生变化 , 从而确 ( 设置 或 定相应处理。该控件常用的属性和方法有 : Commport 返 回 串 口 号) 、 Settings ( 以 字 符 串 的 形 式 设 置 或 返 回 串 口 通 信 ( 设 置 或 返 回 串 口 状 态) 、 ( 设置或返 参 数) 、 Portopen InputMode 回接收数据的类型) 、 ( 设置或返回发送 缓 冲 区 中 等 待 计 Output 算 机 发 送 的 字 符 数) 、 CommEvent ( 依 据 产 生 的 事 件 和 错 误 , MSComm 控 件 为 CommEvent 属 性 赋 不 同 的 代 码 , 同 时 产 生 OnComm 事件) 等。

8 OnComm 9"’:;<= OnComm 事件主要是检查和处理通讯错误 , 可以通过检查 CommEvent 属性的值来查询事件和错误。 \ ' 错误 Case comEventBreak / 收到 Break/ Case comEventCDTO /CD (RLSD) 超时 / Case comEventCTSTO /CTS Timeout/ Case comEventDSRTO Case comEventFrame Case comEventOverrun Case comEventRxOver Case comEventRxParity Case comEventTxFull Case comEventDCB ' 事件 Case comEvCD Case comEvCTS Case comEvDSR Case comEvRing Case comEvReceive Case comEvSend Case comEvEof \ /DSR Timeout/ /Framing Error/ / 数据丢失 / / 接收缓冲区溢出 / /Parity 错误 / / 传输缓冲区已满 / / 获取 DCB 时意外错误 / /CD 线状态变化 / /CTS 线状态变化 / /DSR 线状态变化 / /Ring Indicator 变化 / / 收到 RThreshold # of chars/ / 传输缓冲区有 Sthreshold 个字符 / / 输入数据流中发现 EOF 字符 /

2.2

2 VB ’() Ms comm !"*+,-./#01
2.1 23%4567
为了使主机能够对整个检测过程进行实时控制 , 需要在 发送命令 ( 文 本 方 式 或 二 进 制 代 码) 以 后 设 定 等 待 的 时 间 或 通 过条件判断下一步指令是发送还是接收。值得注意的是 , 当发 送的命令是二进制代码时 , 还要特别注意发送的格式。 当发送命令过程是一个带参过程时 , 发送命令会变得简 便易行。具体程序如下 :



,-./01’>?@A/BCDE
由于外界干扰或电压波动等原因 , PC 机和单 片 机 之 间 的

网络端口超速等。 这 通讯可能会出现错误 , 如接收缓冲区溢出、 些事件都可能在代码中引起运行错误。 OnComm 事件可以捕捉 和处理错误。在 MSComm 控件中就提供了一个事件 OnComm, 该事件可以截取串口的任何消息 , 转入事件处理程序。 OnComm 可以捕获通信时发生的串口事件和错误信息 , 当有串口事件 或 错误发生时 ,VB 会立刻触 发 一 个 OnComm 事 件 , 程 序 就 会 自 动 转 入 OnComm 事 件 处 理 程 序 中 。 而 在 OnComm 事 件 中 , Com- mEvent 属 性 是 OnComm 事 件 的 指 示 器 , 它 存 有 最 近 事 件 或 错

Dim command?As?Byte \ MSComm1.OutBufferCount=0 MSComm1.Output= 输出命令 MSComm1.InBufferCount=0 \

( bcd 63 e)
;\]^: 2006- 11- 28
( 1980- ) , 女 , 河南淮阳人 , 三门峡职业技术学院教师 , 助教 , 河南科技大学在读研究生 , 研究方向 : 数据库编程与多媒体应用。 _‘&a: 董 萍

57

《装备制造技术》 2007 年第 2 期
减速机为输出速度相同、 转速相反的双输出轴减速机, 在减速 机的各输出轴与输送线右端两轴间以相同的传动比、 相同的连 接方式连接 , 也能获得与图 4 结构相同的效果。



/!

.4

要在一条输送线上实现工件以两个不同方向、相同速度 的输送 , 使线上各轴以不同方向、 相同转速旋转是核心技术 , 工 位小车与线上滚轮之间实现纯滚动运动 , 是保证输送线以相同 速度输送工件的必要条件 , 线上滚轮材料的选择是关键。 $%&’: [1] 郑志峰 , 王义行 , 柴邦衡 . 链传动 [ M] . 北京 : 机械工业出版社 .1984. [2] 周增昌 . 发动机非同步输送线装配线 [ J ] . 汽车技术 , 1998(2).
链、 摩擦与螺旋传动 [ M] . 北京 : 机械 [3] 机械工程手册第 33 篇 . 带、 工业出版社 . 1978.

另外也可以采用下述方式来实现 : 选用减速机电机组的

De ve lopme nt a nd Applica tion of A Ne w Re ciproca ting Cha in S tyle Automa tic P roduction Line
YANG Guo- xian
(Zhuzhou Vocational College, Zhuzhou Hunan 412001, China) Abs tract: Introduces the characteristic of a new reciprocating chain style automatic production line. Expounds the structure design which implements material handling in same speed and by two different directions in one conveyer line. Keywords : Reciprocating style; Production line; Development and application

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ( )*+ 57 ,)
误的数值代码 , 在程序中可以随时读取 CommEvent 属性值来了 解通信的状况。但该属性在设计时是不能使用的 , 而且在 程 序 运行时也是以只读形式存在的。 “ 正在执行任务 1 ” Label.Enabled= Call B \ End Select Case comFrame / 通信错误处理 / “ Framing Error!” X=MsgBox( ,16) \

OnComm 事件是和 CommEvent 属性一起使用的。当任何
一 个 OnComm 事 件 或 错 误 发 生 时 , 都 会 使 得 CommEvent 属 性 值 改 变 , 在 OnComm 事 件 处 理 过 程 中 , 可 以 通 过 判 断 Com- mEvent 属性值 , 对于不同的属性值转入不同 的 事 件 处 理 过 程 , 常采用的办法是

SELECT CASE \ END SELECT。
因此 , 通信错误的处理程序为 :

4 !"#
运用 MSComm 控件有效地实现了 PC 机与单片机的通信 , 这种实现方法在解决各类通信问题中具有一定普遍性。
$%&’:

\ Case ComReceive 'Receive data
线通信信息 /

监视总 / 自动数据接收、

[1] 李华 . 单片机通用接口技术 [M]. 北京 :北京航空航天大学出版社 , 1999.

Select Case In_buffer ¥ Call A

On Ma king True S CI a ccording to Ma king Us e ofMS Comm Active X in VB
DONG Ping
(Sanmenxia Polytechnic, Sanmenxia Henan 472000,China) Abs tract: 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

63


相关文章:
串口通信控件
有了 MSComm 控件,就可以选择 MSComm 控件的图标后将其加到程序窗体上,利用 该控件 PC 机就可以通过 VB.NET、VC++.NET、 C#.NET 实现与串口设备的串口通信...
VB6.0环境下利用Mscomm控件实现串行通信
VB6.0 环境下利用 Mscomm 控件实现串行通信 Use Mscomm Control Component to Implement Serial Communication under Visual Basic 摘要: 本文简要介绍了 VB6.0 中 ...
使用VB中的MSComm控件实现串口通信
RS使用 VB 中的 MSComm 控件实现 RS-232 串口通信 实验准备:需要准备一些与串口通信有关的设备,如(外置式) 调制解调器、计算机串口与调制解调器的连接线、一根 ...
VB控件MSComm串口通讯实例教程
VB控件MSComm串口通讯实例教程_信息与通信_工程科技_专业资料。现有电子秤一台,使用串口与计算机进行通讯。编写 VB 程序来访问串口,达到读取电 子秤上显示的数据。...
VB串口通讯控件MSComm详解
VB串口通讯控件MSComm详解_信息与通信_工程科技_专业资料。VB 串口通讯控件 MSComm 详解 MSComm 控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。MSComm ...
串口通信MSComm控件使用介绍
串口通信MSComm控件使用介绍_计算机软件及应用_IT/计算机_专业资料。串口通信MSComm...程序员不必去花时间去了解较为复杂的 API 函数,而且在 VC、VB、 Delphi 等...
串口通信MSComm控件和SerialPort
串口通信MSComm控件和SerialPort_计算机软件及应用_IT/计算机_专业资料。串口通信MSComm...以类的方式 VB: 1) 定义 SerialPort 类实例 Dim SpCom As New System.IO...
串口通讯方法的三种实现
2串口通讯实现 在.net 平台下使用 C#语言实现串口通信的方法主要有三种: 第一种方法是采用 VB6.0 中提供的MSComm控件,这种方法编程简单.但 MSComm 控件在使用前...
VB中MScomm控件通信方式的使用
VBMScomm控件通信方式的使用 1 引言 VB开发串口通信程序常用的方法是利用VB自身提供的控件MScomm实现,该控件 隐藏了大部分串口通信的底层运行过程和许多烦琐的...
更多相关标签:
mscomm串口控件下载 | mscomm串口通信 | vc6.0mscomm串口通信 | mscomm串口控件 | vc2010串口控件mscomm | java实现串口通信 | c语言实现串口通信 | qt实现串口通信 |