加载中…
正文 字体大小:

[转载]终于搞定了通过两路蓝牙接收数据

(2014-06-29 06:49:12)
标签:

转载

分类: S2A之物理探秘

一直想做无线传感器,通过蓝牙来接收数据,无奈因为arduino接收串口数据的一些问题,一直搁到现在。因为学校里给学生开了选修课,所以手边有一些nano和mega可以使用,所以就做了用两个nano加上两个蓝牙模块来发射数据,用mega加两个蓝牙模块来接收数据。因为mega可以同时使用4路串口,所以考虑用mega来作为主控机,用来接收来自传感器的数据,每个传感器加一个nano和蓝牙来无线发射数据。

[转载]终于搞定了通过两路蓝牙接收数据

因为是测试,所以在nano中写了一个简单的发射信号的语句。以下四nano中的程序:

————————————————我是分界线——————————————————————

int i=1;
void setup() { 
  Serial.begin(9600);   }
  void loop(){
         Serial.print(i);
       Serial.print("$");
       delay(50);
       i++;        
    }

————————————————我是分界线——————————————————————

以下是mega中的程序:

——————————————————我是分界线————————————————————————

String comdata = "";
String shuju="";
String shuju2="";
int i;
void setup()
 {
     Serial.begin(9600);
     Serial1.begin(9600);
     Serial2.begin(9600);
 }

void loop()
 {
     while (Serial1.available() > 0) 
     {
         shuju += char(Serial1.read());
         delay(2);
     }
     while (Serial2.available() > 0)
     {
       shuju2 +=char(Serial2.read());
       delay(2);
     }
     if (shuju.length() > 0)
     {
         i=shuju.indexOf("$");
         if(i!=-1){
         comdata=shuju.substring(0,i);
         Serial.print("#1=");       
         Serial.print(comdata);
         Serial.println("$");
         shuju=shuju.substring(i+1,shuju.length());
         comdata = "";
         i=0;
         }
     }
       if (shuju2.length() > 0)
     {
         i=shuju2.indexOf("$");
         if(i!=-1){
         comdata=shuju2.substring(0,i);
         Serial.print("#2=");
          Serial.print(comdata);
          Serial.println("$");
         shuju2=shuju2.substring(i+1,shuju2.length());
         comdata = "";
         i=0;
          }

——————————————我是分界线————————————————————


 

0

阅读 评论 收藏 转载原文 喜欢 打印举报
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有