目前VisualBasic简称VB已成为WINDOWS系统开发的主要语言以其高效、简单易学及功能强大的特点越来越为广大程序设计人员及用户所青睐。支持面向对象的程序设计VB具有结构化的事件驱动编程模式并可以使用无限扩增的控件。在VB应用程序中可以方便地调用WINDOWSAPI函数使得编程效率提高应用功能增强。利用VB提供的这些功能我们可以有三种方法完成串口通信。一种是用VB提供的具有强大功能的通信控件另一种方法是调用WINDOWSAPI函数使用WINDOWS提供的通信函数编写移植性强的应用程序第三是利用文件的输入输出完成该方法简便易行但有一定的局限性。一、利用通信控件MSCOMM完成串口通信VB提供了通信控件MSCOMM文件名为MSCOMMVBX。该控件可设置串行通信的数据发送和接收对串口状态及串行通信的信息格式和协议进行设置。在通信过程中可以触发O
Comm事件在该事件过程进行数据检验处理及检错还可以通过编程访问CommEve
t属性来了解通信的情况进行收发数据的处理。每个通信控件对应一个串口如果要访问多个通信口则要设计多个通信控件。1通信控件的事件及基本属性1事件O
Comm通信控件只提供了一个事件该事件的触发可以对串口的通信事件及错误进行处理。通过对CommEve
t属性的判断可知当前的通信错误和事件分别对每个Com2mEve
t值进行编程就完成了对各个错误和事件的处理。如CommEve
tMSCOMMEVSEND表示发送事件。这些信息可从VB提供的常量文件CONSTANTTXT中查出。2属性CommPort设置通信控件与哪个串口相连接设置并返回通信口号。Setti
g设置通信的信息格式为字符型。顺序为波特率、校验、数据位、停止位。PortOpe
布尔型、开关通信口。I
putLe
从接收缓冲区读取字符个数。I
putOutput读取接收缓冲区或写入发送缓冲区字符以上五种属性对串口完成基本的设置和操作下面的三种属性是描述如何利用VB提供的事件驱动机制来实现通信。CommEve
t返回通信过程中产生的错误信息及事件了解通信状况。SThreshold设置并返回不触发O
Comm事件时发送缓冲区被允许的最少字符数。当缓冲区的字符少于设置的值时则触发O
Comm事件并把CommEve
t设为MSCOMMMEVSEND。当SThreshold0则禁止发送触发O
Comm事件当SThreshold1则发送缓冲区为空时就触发O
Comm事件。利用这一属性就可完成发送数据后的一系列操作。如对刚发送的数据进行处理当串口是和MODEM通信时发送完数据后可进行拆除线路联接、挂机等操作。RThreshold设置并返回不触发O
Comm事件时接收缓冲区被允许的最多字r