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