Serial.available()的用法是什么
本帖最后由 devil999 于 2014-9-24 19:06 编辑Serial.available()的用法是什么。
if (a.length() > 0)
{
Serial.println(a);
int b = a.toInt();//这行代码放到这个位置来,试下。
a = "";
}
i7456 发表于 2014-9-24 09:32 static/image/common/back.gif
String a="";
void setup()
{
Serial.begin(9600);
pinMode(13,OUTPUT);
}
void loop()
{
while (Serial.available() > 0)
{
a += char(Serial.read());
delay(5);
}
if (a.length() > 0)
{
//Serial.println(a);
int b = a.toInt();
digitalWrite(13,HIGH);
delay(b);
digitalWrite(13,LOW);
delay(b);}
}
改成这样后第一次输入的一个值,比如说100,可以以100MS的速度闪烁,如果我要以500MS的话,必须要复位,再输入500才可以。有什么方法可以不复位,直接输入呢? 把这个删掉 if (a.length() > 0)
或者在这个if里的最后加一句a=“”;
while (Serial.available() > 0)
{
a += char(Serial.read());
delay(5);
int b = a.toInt();
}
digitalWrite(13,HIGH);
delay(b);
digitalWrite(13,LOW);
delay(b); devil999 发表于 2014-9-24 09:48 static/image/common/back.gif
String a="";
void setup()
我只让你移动那一行的代码,你为什么把那几行都给移过来了? Jerry 发表于 2014-9-24 10:21 static/image/common/back.gif
while (Serial.available() > 0)
{
a += char(Serial.read());
這樣不會出 error 嗎?
b 在 while {} 中設定, 但在 while {} 之外用. Jerry 发表于 2014-9-24 10:21 static/image/common/back.gif
while (Serial.available() > 0)
{
a += char(Serial.read());
String a="";
void setup()
{
Serial.begin(9600);
pinMode(13,OUTPUT);
}
void loop()
{
while (Serial.available() > 0)
a += char(Serial.read());
delay(5);
int b = a.toInt();
digitalWrite(13,HIGH);
delay(b);
digitalWrite(13,LOW);
delay(b);
}这样的结果是我输入100,就是100MS的速度闪烁,然后我接着输入10,则是以10010的速度闪烁。还是存在同样的问题。
String a="";
int b = 100;
void setup()
{
Serial.begin(9600);
pinMode(13,OUTPUT);
}
void loop()
{
while (Serial.available() > 0)
{
a += char(Serial.read());
delay(5);
}
if (a.length() > 0)
{
Serial.println(a);
b = a.toInt();
a = "";
}
digitalWrite(13,HIGH);
delay(b);
digitalWrite(13,LOW);
delay(b);
}
i7456 发表于 2014-9-24 12:49 static/image/common/back.gif
void loop()
{
while (Serial.available() > 0)
{
a += char(Serial.read());
delay(5);
}
能加注释就感激不尽。
if (a.length() > 0)
{
Serial.println(a);
b = a.toInt();
a = "";
} i7456 发表于 2014-9-24 12:49 static/image/common/back.gif
void loop()
{
while (Serial.available() > 0)
{
a += char(Serial.read());
delay(5);
}
if (a.length() > 0)
{
Serial.println(a);
b = a.toInt();
a = "";
}
能加注释就感激不尽。 devil999 发表于 2014-9-24 13:21 static/image/common/back.gif
你搞定了就行了,看来你看懂了 devil999 发表于 2014-9-24 13:22 static/image/common/back.gif
能加注释就感激不尽。
加什么注释?
只不过是把你楼主位的程序的一行代码换个位置而已。
页:
[1]