0

実際にデータを取得しようとしてport1いますが、エラーInvalid port numberが生成されます。

コードは次のとおりです。

Private Sub Command1_Click()
    MsgBox ("The port is open " & MSComm1.PortOpen)
    If (MSComm1.PortOpen = False) Then
    MSComm1.PortOpen = True
    End If
    Command1.Enabled = False
    Command2.Enabled = True
End Sub

Private Sub Command2_Click()
    If (MSComm1.PortOpen = True) Then
    MSComm1.PortOpen = False
    End If
    Command1.Enabled = True
    Command2.Enabled = False
End Sub

Private Sub Form_Load()
    With MSComm1
    .CommPort = 1
    .RThreshold = 1
    .RTSEnable = True
    .Settings = "9600,N,8,1"
    .InputLen = 127
    .SThreshold = 1
    End With
End Sub

Private Sub Form_Unload(Cancel As Integer)
    If (MSComm1.PortOpen = True) Then
    MSComm1.PortOpen = False
    End If
End Sub

Private Sub MSComm1_OnComm()
    Dim Buffer As String

    Select Case MSComm1.CommEvent
    Case comEvReceive
    'Text1.Text = " "
    Buffer = MSComm1.Input
    Text1.Text = Text1.Text & Buffer
    End Select
End Sub
4

2 に答える 2

1

別のCOMポートを試してください。1から16までの数が許容されます。

' Open the serial port
MSComm1.CommPort = 2
MSComm1.Settings = "9600,N,8,1"
MSComm1.PortOpen = True

「CommPortプロパティは、開くシリアルポートを設定します。モデムがCOM2に接続されていると仮定すると、上記の例では、値を2(COM2)に設定し、モデムに接続します。CommPortプロパティ値は、1から1までの任意の数値に設定できます。 16(デフォルトは1)。ただし、この値を、アプリケーションが実行されているシステムに存在しないCOMポートに設定すると、エラーが生成されます。」

ソース:dx.eng.uiowa.edu/eedesign/MScomm.doc

于 2013-01-09T18:10:09.947 に答える
0

次の回答に投稿したコードを見てください。

利用可能なCOMポートを検索

そのコードを実行すると、利用可能な COM ポートのリストが表示されます

あなたのコードでそれを使用し、あなたのコードがそのリストからcomポートを選択できるようにします

于 2013-01-10T08:47:02.630 に答える