Vb.net visualbasic中的串口问题

Vb.net visualbasic中的串口问题,vb.net,Vb.net,我有个问题。每当我使用命令打开串行端口时,如果我使用19200及以上的波特率,VB将通过串行端口自动向控制器发送一些数据(我不知道这些数据是什么以及来自何处)。但当我使用波特率9600时,这个问题不会发生 '-----------------------------vb code---------------------------------- Imports System Imports System.Threading Imports System.IO.

我有个问题。每当我使用命令打开串行端口时,如果我使用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
我不知道我要发送的值中填充的数据是什么,它来自哪里:
255255


7
是我要发送的数据。

是否可能有一点尾端/大端不匹配?vbforums中的这篇文章可能会对您有所帮助:您只是想找出数据的来源,还是想知道如何更改发送的数据?听起来这些数据可能是十六进制或ASCII格式。在Arduino中获得255并不是一个完全的谜,当您将值-1解释为字节时,您就会得到它。在没有可用字节时调用Serial.read()时返回。否则,该解释与您的代码片段不一致。波特率越高,电噪声问题越严重,这总是一个随机数发生器。