Android 增加蓝牙传输数据之间的延迟
我正在尝试在我的Android智能手机和PIC微控制器之间传输一些简单的数据。使用此代码发送时一切正常:Android 增加蓝牙传输数据之间的延迟,android,bluetooth,delay,pic,Android,Bluetooth,Delay,Pic,我正在尝试在我的Android智能手机和PIC微控制器之间传输一些简单的数据。使用此代码发送时一切正常: try { mBluetoothOut.write(new byte[] { StartByte, // Start byte //(byte)(x1Distance & 0xFF), // x1 -> LSB //(byte)((x1Di
try {
mBluetoothOut.write(new byte[] {
StartByte, // Start byte
//(byte)(x1Distance & 0xFF), // x1 -> LSB
//(byte)((x1Distance >> 8) & 0xFF), // x1 -> MSB
(byte)(y1Distance & 0xFF), // y1 -> LSB
(byte)((y1Distance >> 8) & 0xFF), // y1 -> MSB
(pad1.isYNegative()) ? (byte)1 : (byte)0,
//(byte)(x2Distance & 0xFF), // x2 -> LSB
//(byte)((x2Distance >> 8) & 0xFF), // x2 -> MSB
(byte)(y2Distance & 0xFF), // y2 -> LSB
(byte)((y2Distance >> 8) & 0xFF), // y2 -> MSB
(pad2.isYNegative()) ? (byte)1 : (byte)0,
(byte)(servo1Angle & 0xFF), // servo 1 -> LSB
(byte)(servo2Angle & 0xFF) // servo 2 -> LSB
});
} catch (IOException e) {
e.printStackTrace();
}
问题是我的安卓设备发送数据太快,我的微控制器出了问题。有没有办法在发送的每个字节之间设置大约2-3mS的延迟?或者我必须一个字节一个字节地发送,并使用postExecute()
处理程序之类的东西
谢谢假设您使用标准蓝牙配置文件(如SPP)发送数据,那么在接收端,您应该能够以您想要的速率(一次一个字节,在detay之后下一个字节)接收蓝牙内部缓冲区,或者在发送速度过快时应用流量控制来停止发送端。
如果使用正确的蓝牙协议栈,我看不出数据会被弄乱。我会进一步调查,应该还有另外一个问题。非常感谢您的指导和知识:)