[英]Arduino Serial.write() Missing Data
I'm reading data from Serial2 and writing data to Serial3 on Arduino like this:我正在从 Serial2 读取数据并将数据写入 Arduino 上的 Serial3,如下所示:
Serial3.write(Serial2.read());
I am writing a concatenated string from Python that looks like this:我正在从 Python 编写一个连接字符串,如下所示:
myNum = readADC(2)
myString = "The Number: " + str(myNum)
print(myString);
The output of the above code an empty string.上面代码的输出是一个空字符串。
If I do print("some string " + myNum)
I get:如果我执行
print("some string " + myNum)
我得到:
some string
If I do print(myNum)
I get:如果我
print(myNum)
我得到:
say, 32
说,
32
Printing myString to the Python console shows the expected output.将 myString 打印到 Python 控制台会显示预期的输出。
It looks like Serial.write(data)
is doing something to the string.看起来
Serial.write(data)
正在对字符串做一些事情。
How do I fix this?我该如何解决?
Actually Serial.read()
returns 1 byte of data.实际上
Serial.read()
返回 1 个字节的数据。 I am surprised you get "The Number"
string.我很惊讶你得到
"The Number"
字符串。
I recommend you to我建议你
char IncomingString[14];
if (Serial.available() > 0) {
Serial.readBytes(IncomingString, 14);// Assuming myNum is 2 bytes data
}
From now on you have your string.从现在开始你有你的字符串。 You can use
Serial.write(IncomingString)
您可以使用
Serial.write(IncomingString)
"The Number: "
and myNum consequtively."The Number: "
和 myNum。print("The Number: ");
print(str(myNum));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.