2 回答

TA贡献1864条经验 获得超2个赞
如果要发送字符串意味着您直接在 serial.write() 中输入字符串。同时将字符串直接输入 serial.write() 那么它将将该字符串作为 const char* 而不是字符串类型
Serial.write("hello");
否则你不能直接在 serial.write 中发送字符串。你可以使用 serial.print.use char 数组发送
Serial.write(MyString, sizeof(MyString));
否则你可以发送每个字符
void writeString(String stringData) { // Used to serially push out a String with Serial.write()
for (int i = 0; i < stringData.length(); i++)
{
Serial.write(stringData[i]); // Push each char 1 by 1 on each loop pass
}
}// end writeString

TA贡献1843条经验 获得超7个赞
write
只能发送单个字节(或单个字符)、字节数组(具有明确提供的长度)或以 nul 结尾的字符串(不是 String 对象)。
看起来你Serial.print(a);
不想Serial.write(a);
。
或者也许Serial.write(a.c_str());
或者只是Serial.print(13);
。
由于您不想在发送 34、56、434、2 时得到“34564342”,我建议您将它们作为行发送,然后println
在 Python 中读取行。
添加回答
举报