我正在从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/

10-11 01:53