先读取端口连接后的内容,分析一下其中的内容,根据光谱仪读出的内容对程序做相应的调整,使VB能读出正确的信息.
VB提供了串行端口控制Mscomm来为应用程序提供串行通讯。该控件屏蔽了通信过程中的底层操作,程序员可以设置、监视Mscomm控件的属性和事件,结合Timer控件即可完成对串行口的初始化和数据的输入输出工作。Mscomm控件的主要属性如下:
(1)Commport设置并返回通讯端口号。端口号可以设置为1~16的任何数,如Mscomm.Commport=2表示设置当前通讯端口为COM2。
(2)Setting设置并返回波特率、奇偶校验、数据位、停止位。格式为Mscomm.Setting=String。String是一个包含四部分的字符串:第一部分为波特率;第二部分为奇偶校验,N表示不校验,M表示符号校验,E表示偶校验,O表示奇校验,S表示空格校验;第三部分为数据位数,其可选值为4,5,6,7,8;第四部分为停止位位数,其可选值为1,1.5,2。Setting属性的缺省值为“9600,N,8,1”。
(3)Portopen设置并返回通讯端口的状态,也可以打开和关闭端口。
(4)Input从接收缓冲区返回和删除字符。该属性在运行时为只读。
(5)InputLen设置并返回每次Input属性从接收缓冲区中读取的字符数。InputLen属性的缺省值为0。设置InputLen为0时,Input将读取接收缓冲区的全部字符。
(6)Output向传送缓冲区写数据。要传送的数据可是文本数据或二进制数据。
(7)CommEvent返回最近的通讯事件或错误。只要有通讯错误或事件发生错误时就会产生Oncomm事件。CommEvent属性中存有该错误或事件的数值代码。
Timer控件的主要属性如下:
(1)Enabled返回或设置一个值,该值用来确定一个窗体或控件否能够对用户产生的事件作出反应。通过把Enabled设置为“Galse”来使Timer控件成为无效,将取消由控件的Interval属性所建立的倒计时数。
(2)Interval返回或设置对Timer控件的计时事件调用间的毫秒数。Timer控件的Enabled属性决定该控件是否对时间的推移作出响应。将Enabled设置为“False”会关闭Timer控件,设置为“True”则打开Timer控件。当Timer控件置为有效时,倒计时总是从其Interval属性设置值开始。创建Timer事件程序。可通知VB在每次Interval到时该做什么。Timer控件和Enabled属性设置为“True”时,VB将在Interval时间到后自动访问Timer_Timer过程。
为实现通讯程序,须在VB开发环境下设置一个用做控制通讯的窗体。窗体上主要有一个通讯控件Mscomml和两个Timer控件。VB的特点是事件驱动,定时器控件会定时触发相应事件的驱动程序。
本文介绍了如何利用VB的Mscomm控件和Timer控件实现串口通信。通过设置Mscomm的Commport、Setting、Portopen等属性进行串口初始化,并结合Timer控件的Enabled和Interval属性,实现定时读取和处理串口数据。当数据到达时,可以使用Input属性读取接收缓冲区的内容,Output属性用于向串口发送数据。同时,利用Oncomm事件处理通讯错误和事件。
2583

被折叠的 条评论
为什么被折叠?



