极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16550|回复: 5

为什么接收蓝牙的,总会在前面加几个数字

[复制链接]
发表于 2014-10-4 22:56:04 | 显示全部楼层 |阅读模式
FORWARD = {(byte) 0xFF, 0x5A, 0x5B, 0x00, 0x01, (byte) 0xFF};
这是要按收的数组
这样写可以接收但它是单个的
  1.       
  2. if (Serial.available() > 0) {
  3.                 incomingByte = Serial.read();
  4.                 Serial.print("I received: ");
  5.                 Serial.println(incomingByte, HEX);
  6.         }
复制代码

收到是这样的:

  1. I received: FF
  2. I received: 5A
  3. I received: 5B
  4. I received: 0
  5. I received: 1
  6. I received: FF
复制代码



这样写

  1. if (Serial.available() > 0) {
  2.            for(int n=0;n<6;n++){
  3.                 incomingByte[n] = Serial.read();
  4.                 delay(30);
  5.            }
  6.                 Serial.print("I received: ");
  7.            for(int m=0;m<6;m++){
  8.                 Serial.println(incomingByte[m], HEX);
  9.            }
  10.         }
复制代码


结果是这样:

  1. I received: 8224FF
  2. 82245A
  3. 82245B
  4. 82240
  5. 82241
  6. 822411E
复制代码

每个数前都加了个8224,而且最后一个数不对。
为什么呢?

我想接到的数据存到一个数组里。
回复

使用道具 举报

发表于 2014-10-4 23:08:55 | 显示全部楼层
  1. //看看这样的结果是什么?
  2.        if (Serial.available() > 0) {
  3.            for(int n=0;n<6;n++){
  4.                 incomingByte[n] = Serial.read();
  5.                 Serial.println(incomingByte[n], HEX);
  6.                 delay(2);
  7.            }
  8.                 Serial.print("I received: ");
  9.            for(int m=0;m<6;m++){
  10.                 Serial.println(incomingByte[m], HEX);
  11.            }
  12.         }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-5 11:19:12 | 显示全部楼层
i7456 发表于 2014-10-4 23:08

  1. FF
  2. 5A
  3. 5B
  4. 0
  5. 3
  6. FF
  7. I received: FF
  8. 5A
  9. 5B
  10. 0
  11. 3
  12. 102
复制代码
接收的是对的,但打印出来的最后一位还是不对?
回复 支持 反对

使用道具 举报

发表于 2014-10-5 23:50:24 | 显示全部楼层
angel725 发表于 2014-10-5 11:19
接收的是对的,但打印出来的最后一位还是不对?
  1. //看看这样的结果是什么?
  2.        if (Serial.available() > 0) {
  3.            for(int n=0;n<6;n++){
  4.                 incomingByte[n] = Serial.read();
  5.                 Serial.println(incomingByte[n], HEX);
  6.                 delay(2);
  7.            }
  8.                 Serial.print("I received: ");
  9.            for(int m=0;m<6;m++){
  10.                 Serial.println(incomingByte[m], HEX);
  11.                 delay(2);
  12.            }
  13.         }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-8 18:35:33 | 显示全部楼层
i7456 发表于 2014-10-5 23:50

  1. FF
  2. 5A
  3. 5B
  4. 0
  5. 3
  6. FF
  7. I received: FF
  8. 5A
  9. 5B
  10. 0
  11. 3
  12. 102
复制代码
还是不对,最后一个应该是FF。
回复 支持 反对

使用道具 举报

发表于 2014-10-8 21:18:19 | 显示全部楼层
angel725 发表于 2014-10-8 18:35
还是不对,最后一个应该是FF。

看下你的完整程序
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-8 23:55 , Processed in 0.057052 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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