简单的累加,哪里错了?
本帖最后由 angel725 于 2013-7-18 14:35 编辑void loop(){
int a=0;
int b=Serial.read();
//if(b!=0){
for(int i=0;i<=b;i++){
a+=i;
Serial.println(a);
delay(1000);
}
//}
}
串口读数值,下面for计算
比如打个10,for就计算从1累加到10的和。
可是不管我输入几,计算的结果都是1000多。
不知道哪错了。。。 。。。
你贴代码贴一半,别人想帮你调试还得自己补齐剩余部分 已经全了,
还有一段就是setup()了,
里面就一句:Serial.begin(9600); void loop(){
int a=0;
int b=Serial.read();
if(b!=0){
Serial.println(b);
for(int i=0;i<=b;i++){
a+=i;
//Serial.println(a);
delay(1000);
}
}
}
这样试了一下,每一次读出来的数据有三组,不是我们输入的数据 Serial.read() 读出来的不是直接是整形数 要自己处理一下。如 b = Serial.read() -'0' 才是要的数据
输入 ‘9’此时 b='9'-'0'才是 9否则是40+(ASSCII表查一下) 本帖最后由 angel725 于 2013-7-17 23:54 编辑
yyy_zc 发表于 2013-7-17 21:39 static/image/common/back.gif
Serial.read() 读出来的不是直接是整形数 要自己处理一下。如 b = Serial.read() -'0' 才是要的数据
输入...
谢谢,可以是可以,
不过,只能1-9,
输入10以上的数,会被分开两行,
比如12,就是1和2各一行。 用Serial.parseInt()来读取串口数据,可以直接得到整数值 pipihua 发表于 2013-7-18 13:48 static/image/common/back.gif
用Serial.parseInt()来读取串口数据,可以直接得到整数值
这个方法简单。。
页:
[1]