次のコードを使用して、com ポートから値を読み取ります。
Private port As New SerialPort("COM13", 9600, Parity.None, 8, StopBits.One)
Private Sub port_DataReceived(ByVal sender As Object, ByVal e As SerialDataReceivedEventArgs)
Debug.Print(port.ReadExisting())
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
AddHandler port.DataReceived, New SerialDataReceivedEventHandler(AddressOf port_DataReceived)
port.Open()
End Sub
これは問題なく機能しますが、すべてのデータを取得できず、結果として 1 つではなく 2 つの文字列が返されることがあります。
たとえば、com ポートが「HELLO2YOU」という単語を送信している場合、次のようになります。
HEL
LO2YOU
また
HELLO2
YOU
そこにバッファを配置して、表示する前にすべてのデータが読み取られるようにするにはどうすればよいですか?
ありがとう!