1

我只想使用 arduino 将十六进制字节数组发送到外部设备。

所以起初我使用 c# 和我的电脑尝试了该设备。这是我工作正常的示例代码:

_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