1

RS232がラップトップ/ PCのUSBポートを介して接続されているプロジェクトに取り組んでいます。vb.net アプリケーションは既に作成しています。アプリケーションが初めて読み込まれるときに、シリアル ポートを検出する必要があります。今のところ、シリアルポートのプロパティにポート名を手動で入力しましたが、アプリケーションを展開し、他のラップトップ/PC を使用すると、GUI を実行すると System.IO.IOException というエラーが発生します。シリアルポートの自動検出をプログラムしたいのですが、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() の後、次に何をすべきかわかりません。

4

2 に答える 2

0

これがどのように行われるかを示す例が次の Web ページにあります: http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.aspx

この例では、アプリケーションがポートと通信する前に、ユーザーはシリアル ポートの設定を求められます。

SerialPort.GetPortNames ( http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.getportnames.aspx ) は、シリアル ポートの名前を取得します。

于 2013-03-03T08:57:33.080 に答える