0

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

4

0 回答 0