无法将串行监视器中为Arduino写入的内容保存为String / char

时间:2012-09-17 17:50:30

标签: c++ string char arduino

当我输入第一行的单词时,第一行的第一个字母被保存,第一行没有保存任何内容。我该如何解决这个问题?

以下是代码:http://pastebin.com/sXLjAvns

2 个答案:

答案 0 :(得分:1)

Serial.read()只返回一个字符,如下所示:

while (Serial.available() == 0);
firstLine[16] = Serial.read();
Serial.println(firstLine);

需要改为类似于:

#define LEN   16
#define CR    13

int i=0;
char incoming;

while ((incoming!= CR) & (i<LEN-1))
{
   if (Serial.available())
   {
       incoming = Serial.read();
       firstline[i]=incoming;
       i++;
   }
}
firstline[i]=0;
Serial.println(firstLine);

答案 1 :(得分:1)

我实际上和朋友一起想出来了。以下是新来源:http://pastebin.com/GDxJwXxd

我用for循环修复它,重复保存下一个字符并将其保存到字符串中。然后它使用另一个for循环并打印出字符串的每个字符。