C语言学习网

如何解决VB.NET串口通讯问题

发表于:2022-12-09 作者:安全数据网编辑
编辑最后更新 2022年12月09日,这篇文章主要介绍了如何解决VB.NET串口通讯问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。VB.NET串口通讯支持总是让人觉得有

这篇文章主要介绍了如何解决VB.NET串口通讯问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

VB.NET串口通讯支持总是让人觉得有所不足,在使用VB6的MsComm32.ocx时,很多人都会在VB.NET的开发中觉得很困扰。这里讲述的VB.NET串口通讯类使用native代码,并且它是通API调用实现的,你会发现VB.NET串口通讯就是这么简单。

在说明如何使用这个类前,需要说明的是,本类只是一个VB.NET串口通讯演示,你可能需要根据你的情况修改后使用。另外,本类的目的是通过例子教会你在无需ocx控件和第三方组件的支持下用VB.NET开发串口通讯程序,所有并没有完善的异常错误处理。

1.初始化并打开串口

创建一个CRs232类的实例,并在调用Open方法前设置好串口通讯参数。

Dim moRS232 as New Rs232()  With moRs232  .Port = 1'//Uses COM1  .BaudRate = 2400 '//波特率 2400  .DataBit = 8   '//8 data bits  .StopBit = Rs232.DataStopBit.StopBit_1  '//停止位 1  .Parity = Rs232.DataParity.Parity_None  '//无奇偶校验  .Timeout = 500   '//超时时间500 ms  End With   '// 初始化并打开串口  moRS232.Open ()  '// 串口打开后,你可以随意地控制DTR/RTS  moRS232.Dtr = True moRS232.Rts = True

2.发送数据

本类为Rx和Tx准备了两个缓冲区(buffer),发送数据时,只需要设置TxData属性为你需要发送的数据,然后调用Tx方法就可以了。

moRS232.TxData = txtTx.Text  moRS232.Tx()

3.接收数据

先调用Rx方法(参数为您需要从串口读取的字节数),然后读取RxData属性。

moRS232.Rx(10)  '// 从串口通讯缓冲区里读取10字节  Dim sRead as String=moRs232.RxData

需要注意的是,当本类无法用串口读取到所需的字节数,程序线程在超时异常发生前是锁死的,超时时间通过Timout属性设置。

感谢你能够认真阅读完这篇文章,希望小编分享的"如何解决VB.NET串口通讯问题"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

0