我只想使用 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");
}
}
对于上述代码,我没有从设备那里得到答案