我遇到了问题。每当我使用命令打开串口时,如果我使用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
是我要发送的数据。