Bluetooth 软件串行.h库不工作

Bluetooth 软件串行.h库不工作,bluetooth,windows-phone-8,arduino,Bluetooth,Windows Phone 8,Arduino,我创建了一个WP8应用程序。它连接到蓝牙并检测到它。蓝牙模块也已连接。但数据并不是从Arduino传送到手机:( 错误代码 if(btSerial.available()) { Serial.println(distance); btSerial.write(distance); } else { Serial.println("error"); -> always prints this } 在代码中,错误部分总是在串行监视器中打印。我已将蓝牙设备中的管

我创建了一个WP8应用程序。它连接到蓝牙并检测到它。蓝牙模块也已连接。但数据并不是从Arduino传送到手机:(

错误代码

if(btSerial.available()) {
    Serial.println(distance); 
    btSerial.write(distance);
}
else {
    Serial.println("error");   -> always prints this 
}
在代码中,错误部分总是在串行监视器中打印。我已将蓝牙设备中的管脚连接到以下管脚

RXD-11, TXD-10, GND-GND, VCC-5v


请帮助我为什么btSerial.available()没有启动?

您的逻辑是反向的。available()测试Arduino在其接收缓冲区中是否有数据。它不测试连接是否就绪。因此,串行程序的整体模式

if(someserial.available()) {
  someserial.read... loop to get input
  print stuff received
}
要写,就写吧

//no if's just go
someserial.write("my output")
您不需要等待。使用双线串行连接,您没有流量控制。换句话说,arduino和蓝牙收发器之间没有关于就绪或其他状态的信号。因为蓝牙链路的波特率超过了arduino串行链路的波特率,所以您不能真正使蓝牙传输溢出雷姆


协商连接的蓝牙方面对Arduino是透明的。换句话说,您的程序与使用硬件串行端口的程序相同。如果出于某种原因,您需要连接的详细信息,则存在允许与蓝牙硬件通信的特殊字节序列。

请显示用于设置btSerial.Better的代码-如果不太长,则显示整个Arduino代码。