极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13274|回复: 4

这个蓝牙arduino接收,串口怎么总是“FFFFFFFF”

[复制链接]
发表于 2014-10-3 23:07:09 | 显示全部楼层 |阅读模式

  1. void cmd(){
  2.   int n ;
  3.   for(n=0;n<=5;n++){
  4.     BT_val = Serial.read();
  5.     BT_array[n]=BT_val;
  6.   }
  7. }
  8. void loop(){
  9.   cmd();   
  10.    Serial.println(BT_array[3],HEX);
  11.    Serial.println(BT_array[4],HEX);
  12. if(BT_array[0]==0XFFFFFFFF && BT_array[1]==0x5A
  13.     && BT_array[2]==0x5B && BT_array[5]==0XFFFFFFFF){
  14.     switch (BT_array[3]=0x00)   
  15.     {
  16.       case 0x00:
  17.         switch(BT_array[4])
  18.         {
  19.           case 0x01:
  20.           //case 'w':
  21.             Forward();  break;
  22.           case 2:
  23.           //case 'a':
  24.             Left();     break;
  25.           case 3:
  26.           //case 'x':
  27.             Stop();     break;
  28.           case 4:
  29.           //case 'd':
  30.             Right();    break;            
  31.           case 5:
  32.           //case 's':
  33.             Back();     break;
  34.         }
  35.         break;
  36.     }
  37.   }
复制代码


*  FORWARD = {(byte) 0xFF, 0x5A, 0x5B, 0x00, 0x01, (byte) 0xFF};
*  BACK = {(byte) 0xFF, 0x5A, 0x5B, 0x00, 0x05, (byte) 0xFF};
*  STOP = {(byte) 0xFF, 0x5A, 0x5B, 0x00, 0x03, (byte) 0xFF};
这是蓝牙发送的,我按手机同一个按钮,有时会出现:
0
1

0
3

不然就是8个F
即使我把蓝牙拔下来,也是不断的8个F

怎么回事?
回复

使用道具 举报

发表于 2014-10-3 23:44:38 | 显示全部楼层
本帖最后由 i7456 于 2014-10-3 23:46 编辑

你的程序有问题。
参考这里http://arduino.cc/en/Serial/Available
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-4 14:27:32 | 显示全部楼层

  1. void cmd(){
  2.   int n ;
  3.   for(n=0;n<=5;n++){
  4.     BT_val = Serial.read();
  5.     BT_array[n]=BT_val;
  6.   }
  7. }
复制代码
谢谢找到问题了,接收写的不对。

发送的是FORWARD = {(byte) 0xFF, 0x5A, 0x5B, 0x00, 0x01, (byte) 0xFF};
接收要怎么才能正常收啊,
试了半天,也没弄对。。
回复 支持 反对

使用道具 举报

发表于 2014-10-4 23:01:03 | 显示全部楼层
本帖最后由 i7456 于 2014-10-4 23:02 编辑

  1. void cmd(){
  2.   if (Serial1.available()) //判断串口缓冲区有数据时再读数据
  3.   for(int n=0;n<=5;n++){
  4.     BT_val = Serial.read();
  5.     BT_array[n]=BT_val;
  6.   }
  7. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-8 18:36:03 | 显示全部楼层
已经解决了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-8 22:28 , Processed in 0.064277 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表