加载中...

【Arduino】Arduino接收字符串


【Arduino】Arduino接收字符串

 

相关文章 【Arduino】开发入门【十】Arduino蓝牙模块与Android实现通信

在【Arduino】开发入门【十】Arduino蓝牙模块与Android实现通信 中,只实现了,单个字符的发送。

Arduino的Serial.read()每次只能读一个字节,下面的方法说明如何实现字符串通信。

编译只要一块Arduino,当然可以结合【Arduino】开发入门【十】Arduino蓝牙模块与Android实现通信。

用Arduino编译器的串口监视器即可看到结果,我们打什么文字进去,下面就会返回什么文字。 

实现代码,网上贴了很多

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 = "";
    }
}

代码很简单,comdata是一个字符串类型变量。Serial.available()是当前串口缓冲池的数据量。Serial.read()是读缓冲池的语句,每次只能读一个字节。

用了String类型变量,很简单的实现了字符到字符串的加入,还有字符串输出,赋值等麻烦问题,所以很简单的代码就能处理串口数据。

特别留意的是读串口时的delay(2)不能删掉,否则串口缓冲区不够时间接受数据。即使调小延时也会出错。具体数值也可以实验决定。

再提醒一个:comdata说是一个字符串,也是一个数组,引用每个字的话可以用comdata[0],comdata[1]。。。comdata[n]。如果我们要每个字节取出的话,可以每个引用。

 

 

相关文章

【Arduino】开发入门教程【一】什么是Arduino
【Ardunio】开发入门教程【二】数据类型
【Arduino】开发入门教程【三】Arduino开发工具
【Arduino】开发入门教程【四】Arduino驱动安装
【Arduino】开发入门教程【五】Hello Arduino
【Arduino】开发入门教程【六】数据类型转换函数
【Arduino】开发入门教程【七】7段显示器实现+源代码
【Arduino】开发入门教程【八】舵机操作+源代码
【Arduino】开发入门【十】Arduino蓝牙模块与Android实现通信

//////////////////////////////////////////////

原创声明 转载请注明

本文出自 Ray-Ray的博客

文章地址 http://www.cnblogs.com/rayray/p/3198091.html 

感谢大家的推荐和收藏

你的支持! 我们的动力!


还没有评论.