2016年4月17日 星期日

藍芽接收資料

這陣子看了很多範例由手機送訊號給藍芽,接收後由arduino做動作,多數的例子皆以單一字元為主。如果要允許送出任意資料長度(假設10字元內),例如除單一字元控制自走車方向外,如何送出一串數字整個自走車車速。


------------------------------------------------------------------------------
int i = 0;     //loop
int insize=0; //bt接收到的長度
char cmd[10];  //存放個別接收的char

void setup()
{
  Serial.begin(9600);   // 與電腦序列埠連線
  BT.begin(9600);
}

void loop() {
  int cnt = 0;

  insize=BT.available(); //知道「本次」接收到多少字元

  while ( BT.available())//可接受 1~3個字
  {
     for (i = 0; i < insize; i++)
       cmd[i] = (char)BT.read();  //個別存入

     cmd[i]='\0';                          //最後i+1處做字串結束
     Serial.println(cmd);  
  }


   // other command to do


}//loop

沒有留言:

張貼留言