菜鸟问题。。求助-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4045|回复: 2

[已解决] 菜鸟问题。。求助

[复制链接]
发表于 2013-9-23 00:13 | 显示全部楼层 |阅读模式

String comdata = "";

void setup()
{
    Serial.begin(9600);
}

void loop()
{
    while (Serial.available() > 0)  
    {
        comdata += char(Serial.read());
        delay(2);
    }
        if(comdata.length()>0)
        {
          Serial.println(comdata);
          comdata = "";  
        }

}


问题:
1.为什么最后面要加comdata = "";  
2. if(comdata.length()>0){}这个是干什么的啊。必须的么。去掉这个东西。直接写成:
String comdata = "";

void setup()
{
    Serial.begin(9600);
}

void loop()
{
    while (Serial.available() > 0)  
    {
        comdata += char(Serial.read());
        delay(2);


          Serial.println(comdata);
          comdata = "";  



}
输入结果一样的啊
3.谁能最好没句解释一下这个程序是干什么的
多谢了!!!!!


发表于 2013-9-23 01:19 | 显示全部楼层
1.为什么最后面要加comdata = "";  

答,清空字符串,便于接收下一次数据

2. if(comdata.length()>0){}这个是干什么的啊。必须的么。去掉这个东西。直接写成:

答,判断,字符串是否为空,不为空则输出数据;
删去后,仍然一样是因为输出的字符串为空,等同于没输出;
但两句实则是不一样的
发表于 2013-9-23 10:16 | 显示全部楼层
2. if(comdata.length()>0){}这个是干什么的啊。必须的么。去掉这个东西。直接写成:
......
输入结果一样的啊

答:输入一个字符,两个写法的输出结果是一样的,如果是两个字符以上,结果就不一样了

3.谁能最好没句解释一下这个程序是干什么的
答:串口接收字符,并发送出去。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-3 07:53 , Processed in 0.086956 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表