无法使用BluetoothSocket从Android发送超过60个字符到Arduino

时间:2015-11-17 08:45:24

标签: android bluetooth arduino

我正在创建一个Android应用程序来搜索并配对蓝牙设备并向其发送长字符串(500个字符)。 在我尝试编写长度超过60个字符的字符串之前,一切似乎都很好。如果我发送一个长度为100的字符串,Arduino只接收60-70!它会因每次传输而异。 我究竟做错了什么?我是否必须实现线程才能从Android发送传输?

Android中用于发送字符串的代码:

String a="iedcnifnchiehwixhnrihirhiwhxrithwthwcmwhirhhxtihrihix";//Some string more than 60 characters in length.
btSocket.getOutputStream().write(a.toString().getBytes());

Arduino中用于接收字符的代码:

while(myserial.available() > 0)
{command = ((byte)myserial.read());
if(command == ':')
{
break;
}
else
{
string += command;
}
Serial.print(string);
}

我正在使用arduino UNO。蓝牙模块(HC 06)连接到软件序列。

1 个答案:

答案 0 :(得分:0)

我认为问题不在于Arduino的速度慢 如果我们发送长文本,一些延迟可能会很好 但即使在9600波特率下,我们也可以发送/接收9600位 我实际上是使用一个单独的线程进行蓝牙连接和通信 尝试使用不同的波特率,看看会发生什么 如果你使用的是Arduino UNO 尝试与Arduino Mega相同的代码