Я работаю над проектом, в котором RS232 подключен через USB-порт ноутбука/ПК. Я уже создал приложение vb.net. Поскольку приложение загружается в первый раз, ему необходимо обнаружить последовательный порт. На данный момент я вручную помещаю имя порта в свойства serialport, но если я разверну свое приложение, и если я использую другой ноутбук/ПК, произошла ошибка: System.IO.IOException при запуске моего графического интерфейса. Я хочу запрограммировать автоматическое обнаружение serialport, но я новичок в программировании последовательного порта в vb.net.Как запрограммировать автоматическое обнаружение последовательного порта в vb.net
Может ли кто-нибудь мне помочь? благодаря!
Это какая-то часть моей программы:
Imports System.IO.Ports
Public Class Form1
'Dim myPort As Array
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
'myPort = IO.Ports.SerialPort.GetPortNames()
SerialPort1.Open()
Timer1.Enabled = True
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
'==zigbee sent data to the app====
Console.Beep(3000, 1000) 'high tone buzzer whenever there is a notification received
MsgBox("THERE IS A NOTIFICATION RECEIVED!")
uart_rx = Me.SerialPort1.ReadExisting
toDisplay = toDisplay + uart_rx
flag = 1 'there is a notification sent
End Sub
....
После myPort = IO.Ports.SerialPort.GetPortNames(), я не знаю, что делать дальше.
Будет ли это работать: В то время как (счетчик = 0) SerialPort1.PortName = myPort (я) SerialPort1.Open() Если SerialPort1.IsOpen Тогда счетчик = 1 End If я = я + 1 End While счетчик = 0 Err мой кабель на плохое настроение хехе не могу обнаружить мой компьютер. –
Как вы узнали, есть ли подключенное устройство или нет? Он постоянно отправляет данные? Отвечает ли она конкретной команде? – dbasnett