1

次のコードを使用する場合:

    Private Sub DataReceivedHandler(ByVal sender As Object, ByVal e As SerialDataReceivedEventArgs)

    Dim sp As SerialPort = CType(sender, SerialPort)

    Debug.WriteLine("DataReceivedHandler() - Data Received! number of bytes=" & sp.BytesToRead)
    Dim indata As String = sp.ReadExisting()

    Debug.WriteLine("DataReceivedHandler() - indata=" & TTSHelperFunctions.StringToHex(indata))

End Sub

デバッグ出力で変数をsp.BytesToRead表示するときよりも少ないバイトを示す原因は何ですか?indata

4

1 に答える 1

3

Debug.WriteLine()はかなり遅いです。シリアルポートは、実行中も引き続きバイトを受信します。したがって、後でより多くのバイトを取得することは明確な可能性です。

于 2013-03-05T18:18:42.963 に答える