gpt4 book ai didi

vb.net - 在 VB.net 中用代码创建串行端口

转载 作者:行者123 更新时间:2023-12-03 00:48:20 25 4
gpt4 key购买 nike

我正在尝试仅使用代码在 VB.net 中创建串行端口。因为我正在创建一个类库,所以我无法使用内置组件。我尝试实例化一个新的 SeialPort() 对象,但这似乎还不够。我确信我缺少一些简单的东西,任何帮助将不胜感激!谢谢!

附注我应该补充一点,我目前遇到的问题是获取代码来处理 datareceived 事件。除此之外它可能有效,但由于这个问题我无法判断。

最佳答案

如果您想使用事件,请确保使用“withevents”声明您的串行端口对象。下面的示例将允许您连接到串行端口,并将使用接收到的字符串引发一个事件。

Imports System.Threading

Imports System.IO

Imports System.Text

Imports System.IO.Ports


Public Class clsBarcodeScanner

Public Event ScanDataRecieved(ByVal data As String)
WithEvents comPort As SerialPort

Public Sub Connect()
Try
comPort = My.Computer.Ports.OpenSerialPort("COM5", 9600)
Catch
End Try
End Sub

Public Sub Disconnect()

If comPort IsNot Nothing AndAlso comPort.IsOpen Then
comPort.Close()
End If

End Sub

Private Sub comPort_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles comPort.DataReceived
Dim str As String = ""
If e.EventType = SerialData.Chars Then
Do
Dim bytecount As Integer = comPort.BytesToRead

If bytecount = 0 Then
Exit Do
End If
Dim byteBuffer(bytecount) As Byte


comPort.Read(byteBuffer, 0, bytecount)
str = str & System.Text.Encoding.ASCII.GetString(byteBuffer, 0, 1)

Loop
End If

RaiseEvent ScanDataRecieved(str)

End Sub
End Class

关于vb.net - 在 VB.net 中用代码创建串行端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/329865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com