【Arduino】Arduino接收字符串_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > 【Arduino】Arduino接收字符串

【Arduino】Arduino接收字符串

 2013/8/6 11:08:37  Ray-Ray  博客园  我要评论(0)
  • 摘要:【Arduino】Arduino接收字符串相关文章【Arduino】开发入门【十】Arduino蓝牙模块与Android实现通信在【Arduino】开发入门【十】Arduino蓝牙模块与Android实现通信中,只实现了,单个字符的发送。Arduino的Serial.read()每次只能读一个字节,下面的方法说明如何实现字符串通信。编译只要一块Arduino,当然可以结合【Arduino】开发入门【十】Arduino蓝牙模块与Android实现通信
  • 标签:字符串

【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]。如果我们要每个字节取出的话,可以每个引用。

 

 

相关文章

class="para">【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 

感谢大家的推荐和收藏

你的支持! 我们的动力!

上一篇: 首款Firefox系统手机拉美开卖 只要600元 下一篇: 没有下一篇了!
发表评论
用户名: 匿名