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

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


相关文章:
使用VB中的MSComm控件实现串口通信
RS使用 VB 中的 MSComm 控件实现 RS-232 串口通信 实验准备:需要准备一些与串口通信有关的设备,如(外置式) 调制解调器、计算机串口与调制解调器的连接线、一根 ...
VB控件MSComm串口通讯实例教程
VB控件MSComm串口通讯实例教程_信息与通信_工程科技_专业资料。现有电子秤一台,...(接收缓冲区>4 字节),这时完全可以实现实时监测或实时控制;如果微机在 20ms ...
MSComm控件实现串口通信的方法
MSComm控件实现串口通信的方法_计算机软件及应用_IT/计算机_专业资料。详细介绍了...使用VB中的MSComm控件实... 18页 1下载券 VC++下用MSComm控件实现... 3页...
VB串口通信程序设计典型实例{修}
工具箱中有了 MSComm 控件,就可以选择 MSComm 控件的图标后将其添加到程序窗 体上,利用该控件编程,PC 就可以通过 VB 实现与串口设备 的串口通信了。 由于每个...
VB mscomm 串口控件 及与51单片机通讯使用指南
VB mscomm 串口控件 及与51单片机通讯使用指南_计算机软件及应用_IT/计算机_专业资料。本人亲自整理并测试,VB mscomm 控件常用属性介绍,以及与51系列单片机通讯的使用...
VB串口通信程序实例
工具箱中有了 MSComm 控件,就可以选择 MSComm 控件的图标后将其添加到程序窗 体上,利用该控件编程,PC 就可以通过 VB 实现与串口设备的串口通信了。 由于每个...
vb串口通信控件-mscomm
vb串口通信控件-mscomm_信息与通信_工程科技_专业资料。vb串口通信控件vb...常用属性和方法 利用 MSComm 控件实现计算机通信的关键是理解并正确设置 MSComm ...
vb MSCOMM控件用法
在实时监测系统中串行端口通信是一项基础功能, 因此我们使用 VB5 编写了实时水库...对于 VB 程序开发者只需知道 Mscomm 控件的属性和事件的用法即可以实现串口的操作...
Visual Basic串口通信程序设计典型实例
工具箱中有了 MSComm 控件, 就可以选择 MSComm 控件的图标后将其添加到程序窗体 上,利用该控件编程,PC 就可以通过 VB 实现与串口设备的串口通信了。 由于每个...
串口通讯及其在VB平台下的实现
三、VB 平台下的实现 使用 MSCOMM 控件主要是通过事件来处理串行口的交互,即当数据到达时,控件的 OnComm 的事件就会来捕获或处理这些通讯事件。而 OnComm 事件也...
更多相关标签: