文档介绍:基于VB的MSComm通信方法设计
[摘 要]本文介绍了 VB中的MSCOMM控件,详细论述了利用MSCOMM来实现串彳亍通 信方法的设计。
[关键词]MSCOMM控件串行串口接收发送双机
前言 随着控制技术的告诉发展与日趋成熟,各类控制系统的规模越来越大。功能模块越来 越多,因而系统中各个功能模块之间能否实现可靠得通信也成了整个系统协调而又稳定地工 作的关键之一。而串行通信则是各类通信方式中最基本、最常用、最可靠得一种,因而对串 口及串行通信方法的研究就具有相当的意义。
1串口及串彳亍通信
串口是常用得计算机与外部串彳亍设备之间得数据传输通道,串彳亍通信技术是基于串行通信接 口标准得数据通信技术。实现串行通信的方法有多种,其中最常见得主要有两种:调用API 函数编写通信程序和利用MSCOMM控件实现串行通信。随着面向对象技术的发展,利用 幵发环境本身已有得控件进行开发设计不仅可以减少幵发时间节约开发投资,而且有利于保 证系统的稳定性和可靠性,常用的针对串口通信的控件有MSCOMM, SPCOMM, COMMPORTDRV, APRO和TGPS等,其中MSCOMM控件具有较强得通用性,在VB、 VC和DELPHI等开发环境中均可使用。
2 VB通信控件MSCOMM
MSCOMM控件提供了功能完善的串口数据的发送和接收功能,MSCOMM控件具有两 种处理方式:1事件驱动方式:由控件的ONCOMM事件捕获并处理通信错误及事件;2、 查询方式:通过检查COMMEVENT属性的值來判断事件和错误。
MSCOMM控件的通信功能实现,实际上是调用API函数, 释并传给设备驱动程序执行的,对于VB程序开发者只需要知道MSCOMM控件的属性和事 件的用法即可实现串口的操作。
:
COMMPORT:设置或返回串行端口号,其取值范围为1~99,缺省为1。
2 ) SETTING :设置或返回串行端口得波特率、奇偶校验位、停止位。如: =” ”。
PORTOPEN:打开或关闭串行端口,格式为 ={TRUEIFALSE}o
INBUFFERSIZE:设置或返回接收缓冲区的大小,缺省值为1024字节。
INBUFFERCOUNT:返回接收缓冲区内得等待读取得字节个数,可通过设置属性为0来 清楚接收缓冲区。
RTHRESHOLD:该属性为一阀值,它确定当接收缓冲区内字节个数达到或者超过该值厚 就产生代码为MSCOMM_EV_RECELIVE得ONCOMM 事件。
INPUTLEN:设置或返回接收缓冲区内用INPUT读入得个数。若取0,则INPUT读取整 个缓冲区得内容。
INPUT:该属性表示从接收缓冲区移走…串字符。
OUTBUFFERSIZE:设置会返回发送缓冲区,缺省为512字节。
OUTBUFFERCOUNTER:返回发送缓冲区内等待发送的字符数,可用来清空缓冲区。
OUTPUT:向发送缓冲区传送■串字符串。
EOFENABLE:若置TRUE,则当输入中出现EOF,就停止输入并产生ONCOMM事件。 如果在通信过程中发生错误或事件,就会引发ONCOMM事件并且改变属性值,由 COMME