我正在创建一个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)连接到软件串行。
我认为问题不在于Arduino速度慢如果我们发长短信,有些延迟可能会很好但即使在9600波特率下,我们也可以发送/接收9600位实际上,我使用了一个独立于的线程来进行蓝牙连接和通信尝试使用不同的波特率,看看会发生什么如果您正在使用Arduino UNO使用Arduino Mega 尝试相同的代码