js 串口通信mscomm接收undefined_VB串口通信应用开发入门知识讲解

本文介绍如何在VB中使用MSComm控件进行串口通信。通过设置关键属性如CommPort、Settings等,实现数据收发。MSComm提供事件驱动和查询两种通信方式,并详细解释了各属性的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

VB是一门功能强大、简单易学的程序语言。它可以方便快捷地编制适用于数据处理、多媒体等方面的程序,而且利用ActiveX控件中的MSComm部件还能十分方便地开发出使用计算机串口的通信程序。

今天,我们就共同来学习如何在VB中使用MSComm控件。

首先,要在部件中添加MSComm控件,如下图,点击前面对勾后,点击应用,确定后即可。

8ced1a4d27922ce1302bf006ef25c255.png

MSComm系统处理方式

MSComm控件提供了两种处理通信的方式:

一种是事件驱动方式,该方式相当于一般程序设计中的中断方式。当串口发生事件或错误时,MSComm控件会产生OnComm事件,用户程序可以捕获该事件进行相应处理。一般开发中均采用该方式。

另一种是查询方式,在用户程序中设计定时或不定时查询MSComm控件的某些属性是否发生变化,从而确定相应处理。在程序空闲时间较多时采用该方式。

常用属性和方法

1

利用MSComm控件实现计算机通信的关键是理解并正确设置MSComm控件众多属性和方法。

以下是总结的MSComm控件的常用属性和方法:

●Commport:设置或返回串口号。

●Settings:以字符串的形式设置或返回串口通信参数。

●Portopen:设置或返回串口状态。

●InputMode:设置或返回接收数据的类型。

●Inputlen:设置或返回一次从接收缓冲区中读取字节数。

1f539985020bf3bc51700105abbe0e27.png

●InBufferSize:设置或返回接收缓冲区的大小,缺省值为1024字节。

●InBufferCount:设置或返回接收缓冲区中等待计算机接收的字符数。

●Input:从接收缓冲区中读取数据并清空该缓冲区,该属性设计时无效,运行时只读。

●OutBufferSize:设置或返回发送缓冲区的大小,缺省值为512字节。

●OutBufferCount:设置或返回发送缓冲区中等待计算机发送的字符数。

●Output:向发送缓冲区发送数据,该属性设计时无效,运行时只读。

●Rthreshold:该属性为一阀值。当接收缓冲区中字符数达到该值时,MSComm控件设置Commevent属性为ComEvReceive,并产生OnComm事件。用户可在OnComm事件处理程序中进行相应处理。若Rthreshold属性设置为0,则不产生OnComm事件。例如用户希望接收缓冲区中达到一个字符就接收一个字符,可将Rthreshold设置为1。这样接收缓冲区中接收到一个字符,就产生一次OnComm事件。

07bd63cc6a23c172828561c2a2aa7fc7.png

●Sthreshold:该属性亦为一阀值。当发送缓冲区中字符数小于该值时,MSComm控件设置Commevent属性为ComEvSend,并产生OnComm事件。若Sthreshold属性设置为0,则不产生OnComm事件。要特别注意的是仅当发送缓冲区中字符数小于该值的瞬间才产生OnComm事件,其后就不再产生OnComm事件。例如Sthreshold设置为3,仅当发送缓冲区中字符数从3降为2时,MSComm控件设置Commevent属性为ComEvSend,同时产生OnComm事件,如发送缓冲区中字符始终为2,则不会再产生OnComm事件。这就避免了发送缓冲区中数据未发送完就反复发生OnComm事件。●CommEvent:这是一个非常重要的属性。该属性设计时无效,运行时只读。一旦串口发生通信事件或产生错误,依据产生的事件和错误,MSComm控件为CommEvent属性赋不同的代码,同时产生OnComm事件。用户程序就可在OnComm事件处理程序中针对不同的代码,进行相应的处理。

5574e0c64d2664406aaee69e379ba43a.gif

1

VB串口通信实际程序视频

VB问题在线答疑

3bd685d8afc166cde538346d307ff8b7.png

学习VB中有问题可添加下图老师微信号,学习问题在线答疑。

9db6a40399acd1309ae5c10dec344fee.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值