【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]。如果我们要每个字节取出的话,可以每个引用。
相关文章
//////////////////////////////////////////////
原创声明 转载请注明
本文出自 Ray-Ray的博客
文章地址 http://www.cnblogs.com/rayray/p/3198091.html
感谢大家的推荐和收藏
你的支持! 我们的动力!