[ad_1]
COM ポートを選択して使用し、オンラインで見つけた例を使用して、ドロップダウン リストから Hello World を書き込もうとしています。 リストをドロップダウンすると、すべてが正常に見えますが、USB シリアル アダプターが接続されている Com ポートに書き込もうとすると、ポート名が認識されないというエラーが表示されます (たとえ認識できたとしても)。ドロップダウンリスト)。 コードのコピーをここに示します。何か提案はありますか?? ありがとう!
私が試したこと:
私のコード:
VB.NET
Imports System Imports System.Threading Imports System.IO.Ports Imports System.ComponentModel Public Class Form1 Dim myport As Array Delegate Sub settextcallback(ByVal [text] As String) Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load myport = IO.Ports.SerialPort.GetPortNames() Printer_Comport.Items.AddRange(myport) End Sub Private Sub Printer_Comport_MouseClick(sender As Object, e As MouseEventArgs) Handles Printer_Comport.MouseClick Printer_Comport.Items.Clear() myport = IO.Ports.SerialPort.GetPortNames Printer_Comport.Items.AddRange(myport) End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click SerialPort1.PortName = Printer_Comport.Text 'Heres where I get error SerialPort1.BaudRate = 9600 SerialPort1.Open() SerialPort1.Write("Hello World") SerialPort1.Close() End Sub End Class
解決策 1
コードをアプリに貼り付けると、表示されたエラーは表示されません。呼び出しに到達すると、「ポート ‘COM1:’ が存在しません」というエラーが表示されます。 Open
この PC には COM ポートが接続されていないためですが、それは想定内です。
したがって…何が起こっているのかを正確に調べるにはデバッガーを使用する必要があります。
まず、ハイパーターミナルなどを使用して通信が確立できるかどうかを確認し、それが機能したら、メソッドの先頭にブレークポイントを置き、変数を調べてポート名のリストに何が含まれているか、ポート名のリストに何が含まれているかを確認します。コンボボックス テキストなど。 一度それを知れば、それはかなり明白なはずですが、私たちはあなたの代わりにそれを行うことはできません。
解決策 2
その行で何らかのエラーがスローされる可能性があるのは、Printer_Comport.Text が空の文字列を返した場合だけです。 これは、コントロール内で何も選択されていないことを意味します。
[ad_2]
コメント