admin 管理员组文章数量: 1087652
2024年3月19日发(作者:文件服务器软件)
VB串口通讯USB通讯,很有用哦
1、VB完成串口通信。一种是用VB供应的具有强大功能的通信控件;另一种方法是调
用WINDOWSAPI函数,使用WINDOWS供应的通信函数编写移植性强的应用程序;第三
是利用文件的输入/输出完成,该方法简便易行,但有确定的局限性。一、利用通信控件
〔MSCOMM〕完成串口通信VB供应了通信控件MSCOMM,文件名为。
该控件可设置串行通信的数据发送和接收,对串口状态及串行通信的信息格式和协议进行
设置。在通信过程中可以触发OnComm大事,在该大事过程进行数据检验处理及检错,
还可以通过编程访问CommEvent属性来了解通信的状况,进行收发数据的处理。每个通
信控件对应一个串口,如
2、果要访问多个通信口,则要设计多个通信控件。1、通信控件的大事及基本属性〔1〕
大事OnComm:通信控件只供应了一个大事,该大事的触发可以对串口的通信大事及错
误进行处理。通过对CommEvent属性的推断可知当前的通信错误和大事,分别对每个
CommEvent值进行编程就完成了对各个错误和大事的处理。如:
CommEvent=MSCOMM—EV—SEND表示发送大事。这些信息可从VB供应的常量文件
中查出。〔2〕属性CommPort:设置通信控件与哪个串口相连接,设置
并返回通信口号。Setting:设置通信的信息格式,为字符型。挨次为:波特率、校验、数
据位、停止位。Por
3、tOpen:布尔型、开关通信口。InputLen:从接收缓冲区读取字符个数。Input,
Output:读取接收缓冲区或写入发送缓冲区字符。以上五种属性对串口完成基本的设置和
操作,下面的三种属性是描述如何利用VB供应的大事驱动机制来实现通信。CommEvent:
返回通信过程中产生的错误信息及大事,了解通信状况。SThreshold:设置并返回不触发
OnComm大事时发送缓冲区被允许的最少字符数。当缓冲区的字符少于设置的值时,则
第 4 页
触发OnComm大事,并把CommEvent设为MSCOMMM—EV—SEND。当
SThreshold=0则禁止发送触发OnComm大事,当SThreshold=1则
4、发送缓冲区为空时就触发OnComm大事。利用这一属性,就可完成发送数据后
的一系列操作。如:对刚发送的数据进行处理,当串口是和MODEM通信时,发送完数据
后可进行撤除线路联接、挂机等操作。RThreshold:设置并返回不触发OnComm大事时
接收缓冲区被允许的最多字符数。当缓冲区的字符多于设置的值时,则触发OnComm大
事,并把CommEvent设为MSCOMM—EV—RECEIVE,当RThreshold=0则禁止接收
触发OnComm大事,当RThreshold=1则接收缓冲区有一个或更多字符时就触发
OnComm大事。利用这一属性,就可完成对串口接收数据的处理。2、利用通信控件的实
例S
5、ubForm1—load〔〕′设置
rt=g=9600,o,8,1′波特率:9600奇校验,8
位数据,1位停止位en=0′读取接收缓冲区的全部字符
ferSize=512′设置发送缓冲区为512字节erSize=512′设
置接收缓冲区为512字节hold=0′禁止发送大事hold=1′
每一个字符到接收缓冲区都触发接收大事′设置
rt=g=24
6、00,e,8,1′波特率:2400偶验,8位数据,1位停止位en=0′读
取接收缓冲区的全部字符ferSize=512′设置发送缓冲区为512字节
erSize=512′设置接收缓冲区为512字节hold=1′发送缓
冲区空触发发送大事hold=0′禁止接收大事′打开COM1,
en=en=al=5000EndSub
第 5 页
SubComm1—OnComm〔〕DimInbuffasstrin
7、gDimiasinteger,nasinteger,
encaseMSCOMM—EV—RECEIVEInbuff=Co
=len〔Inbuff〕Fori=1tont=Asc〔Mid〔Inbuff,i,1〕〕
orHFFprintfNextiEndSelectEndSubSubComm2—OnComm〔〕
entCaseMSCOMM—EV—SENDPrinttimeEndSelectEnd
SubSubTimer1—Timer〔〕=Second〔No
8、w〕Endsub二、通过调用API函数实现通信以上说明白用VB供应的控件实现通
信的方法,只要理解了VB控件的机制就很简洁完成对串口的操作,但可移植性差。但VB
可以很简洁调用API函数实现通信。1、VB对API的调用VB使用动态链接库DLL
〔DynamicLinkLibraries〕的力量,大大扩展了其功能。WINDOWS本身供应了API函
数包括三大动态链接库:KERNEL库、GDI库、USER库,通过VB用户可以直接调用这些
库中的函数。调用之前,必需首先在VB中声明。该声明可为模块级或窗体级,当作为模
块级声明时,其作用域为全部FORM和MODULE,而作为窗体级声明时其作用域为该声
明所在
9、的FORM。VB调用DLL的格式:DeclareSub过程名Lib″库名″[Alias″别名″]〔[ByVal
参数As类型]〕DeclareFunction函数名Lib″库名″[Alias″别名″]〔[ByVal参数As类型]〕
As类型在声明中:DECLARE表示声明DLL中的函数,当声明是不具有返回值的过程时用
SUB关键字,而假如调用的函数具有返回值,则必需用FUNCTION关键字将其声明为函
数并在声明语句的最终用AS指明函数返回值的类型。LIB关键字表示当前声明的过程或
第 6 页
版权声明:本文标题:VB串口通讯USB通讯,很有用哦 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1710853726a576374.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论