問題があります。コマンドを使用してシリアル ポートを開くたびに、19200 以上のボー レートを使用すると、VB はシリアル ポート経由でコントローラにデータを自動的に送信します (このデータが何であり、どこから来たのかはわかりません)。しかし、ボーレート 9600 を使用すると、この問題は発生しません。
'-----------------------------vb code----------------------------------
Imports System
Imports System.Threading
Imports System.IO.Ports
Imports System.ComponentModel
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
With SerialPort1
.PortName = "Com6"
.RtsEnable = True
.DataBits = 8
.BaudRate = 19200
.Parity = IO.Ports.Parity.None
.StopBits = StopBits.One
.Open()
End With
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim int As Integer = 7
SerialPort1.Write(BitConverter.GetBytes(int), 0, 1)
End Sub
End Class
'------------------------end of vb code---------------------------
//------------------- START OF ARDUINO SKETCH -------------------
void setup(){
Serial.begin(19200);
Serial1.begin(19200 );
}
void loop(){
if (Serial.available()) {
int val = Serial.read();
Serial1.print(val);
}
}
//------------- END OF ARDUINO SKETCH ----------------
結果
2552552552557
送信したい値にパディングされたこのデータが何であり、どこから来たのかわかりません:255255255255
一方7
、送信したいデータです。