1

arduinoを使用して16進バイト配列を外部デバイスに送信したいだけです。

最初は、C# と PC を使用してデバイスを試しました。正常に動作するサンプルコードは次のとおりです。

_serial.BaudRate = 9600;
_serial.PortName = "COM2";
_serial.Open();
byte[] _bytesToSend = new byte[9] { 0x05, 0x30, 0x30, 0x31, 0x2C, 0x30, 0x30, 0x30, 0x03 };
_serial.Write(_bytesToSend, 0, _bytesToSend.Length);

これを arduino ソフトウェア シリアルに次のように変換すると、問題が発生します。



    SoftwareSerial softSerial1(3, 4); 
    SoftwareSerial softSerial2(5, 6); 

    void setup(){
      Serial.begin(9600);
      softSerial1.begin(9600);
      softSerial2.begin(9600);
    }



    void loop(){

        String sample1 = "";
        byte bytes_to_send[9] =  { 0x05, 0x30, 0x30, 0x31, 0x2C, 0x30, 0x30, 0x30, 0x03 };
        softSerial1.listen();
        softSerial1.write(bytes_to_send,9);
        delay(50); 

        if(softSerial1.available()){

            sample1 = softSerial1.readString();
            Serial.println("Sample1:"+sample1);

         }else{
            Serial.println("Serial 1 Empty"); 
        }

    }

上記のコードに対してデバイスから応答がありません

4

0 に答える 0