我正在从Serial2读取数据并将数据写入Arduino上的Serial3,如下所示:
Serial3.write(Serial2.read());
我正在从Python编写一个连接字符串,如下所示:
myNum = readADC(2)
myString = "The Number: " + str(myNum)
print(myString);
上面代码的输出为空字符串。
如果我
print("some string " + myNum)
我得到:some string
如果我
print(myNum)
我得到:说,
32
将myString打印到Python控制台将显示预期的输出。
看来
Serial.write(data)
正在对字符串做某事。我该如何解决?
最佳答案
实际上Serial.read()
返回1个字节的数据。我很惊讶您得到"The Number"
字符串。
我建议你
通过迭代读取传入的字节char IncomingString[14]; if(Serial.available() > 0) { Serial.readBytes(IncomingString, 14);// Assuming myNum is 2 bytes data }
从现在开始,您将拥有字符串。您可以使用Serial.write(IncomingString)
相应地发送"The Number: "
和myNum。print("The Number: ");print(str(myNum));
关于python - Arduino Serial.write()缺少数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23031650/