arduino通过蓝牙收到错误的号码

时间:2014-05-03 18:10:41

标签: android bluetooth arduino

我正试图通过蓝牙从智能手机向我的Arduino发送一些号码。我已将所有内容连接起来并且工作正常,但我的问题在于发送负数

例如,我尝试发送-173(bin:11111111 01010011)它接收83(bin:00000000 01010011),这只是第二个字节。我试图使用long或double或signed int而不是整数,但我失败了。

以下是我正在使用的代码:

#include <SoftwareSerial.h>// import the serial library

SoftwareSerial Genotronex(51, 11); // RX, TX
int ledpin=53; // led on D13 will show blink on / off
BluetoothData; // the data given from Computer

void setup() {
  // put your setup code here, to run once:
  Genotronex.begin(9600);
  Serial.begin(9600);
  Genotronex.println("Bluetooth On please press 1 or 0 blink LED ..");
  pinMode(ledpin,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
   if (Genotronex.available()){
    BluetoothData=Genotronex.read();
    Serial.print(BluetoothData);
   }

}
delay(100);// prepare for next data ...
}

2 个答案:

答案 0 :(得分:0)

尝试使用Serial.write而不是Serial.print。 我有一个类似的设备,它适用于Serial.write

答案 1 :(得分:0)

原因是因为print适用于各种不同类型,并且只能写入字节类型(在C中是0..255的无符号值)。