我在这里遇到一些基本问题。 如果要将串行数据作为字符串读取,而不是根据该值执行某些操作,则会出现此问题:
while(Serial.available())
{
character = Serial.read();
content.concat(character);
delay(10);
}
//do something with the value
int myInt = content.toInt();
float myFloat=myInt;
analogWrite(10,myInt) ;
//clear
content="" ; //i must clear it for the next word !
当您清除content
,而不是下一个循环时,您会获得内容=“”,并且您不希望将该值放入模拟/使用它做什么,但< strong>仅当序列中存在更改时,才使用该新值。
我找不到办法做到这一点......当他读完新数据时我没有迹象(仅限)
答案 0 :(得分:1)
将它包装成if if:
if(!(content == "")) {
//do something with the value
int myInt = content.toInt();
float myFloat=myInt;
analogWrite(10,myInt);
//clear
content="" ; //i must clear it for the next word !
}
如果您想通过放置:
在顶部等待串行输入,也可以暂停代码while (!(Serial.available())) { }
在您的初始串行读取代码段之上