Arduino C++ 缺少字符串的第一个字母

Arduino c++ First letter of string missing

我正在从一个串行端口接收一个字符串并重复到第二个串行端口。以下代码有效,但缺少字符串的第一个字母(在本例中为数字 4)。

while(Serial1.available()){
  MyString = Serial1.readString();  
}
client.print(MyString); 

最终结果是 "192A4BF,0,3.999023" 而应该是 "4192A4BF,0,3.999023"

您正在循环读取 Serial1,覆盖您收到的所有字符串,最后一个字符串除外。可能发生的情况是,您首先阅读并丢弃 4,然后阅读并打印其余部分。

print 移动到循环中应该可以解决这个问题:

while(Serial1.available()){
  MyString = Serial1.readString();
  client.print(MyString);
}