改变蓝牙SPP连接的波特率

时间:2012-06-05 12:35:33

标签: android bluetooth baud-rate

我要求使用蓝牙SPP以1.15k的速率从远程蓝牙设备收集蓝牙数据。我按如下方式连接到远程设备。

try {
  tmp = device.createRfcommSocketToServiceRecord(MY_UUID);
} catch (IOException e) {
  Log.e(TAG, "create() failed", e);
}
mmSocket = tmp;
}

public void run() {
  Log.i(TAG, "BEGIN mConnectThread");
  setName("ConnectThread");
  // Always cancel discovery because it will slow down a connection
  mAdapter.cancelDiscovery();
  // Make a connection to the BluetoothSocket
  try {
    // This is a blocking call and will only return on a
    // successful connection or an exception
    mmSocket.connect();
  } catch (IOException e) {
    connectionFailed();
    // Close the socket
    try {
      mmSocket.close();
    } catch (IOException e2) {
      Log.e(TAG, "unable to close() socket during connection failure", e2);
    }

对远程设备的连接请求成功,我可以以9600bps的默认波特率接收数据。

但是当我将远程蓝牙适配器设备上的发送波特率更改为1.15kbps时,我的应用程序在蓝牙上没有收到任何数据包。正如我上面提到的,我尝试过this post的建议。

我错过了什么吗?我不需要在我的应用程序中做任何改变波特率的事情吗? RFComm通道是否自动调整波特率?

我使用的是Android 2.1-update1平台。

此致 Jagmeet

1 个答案:

答案 0 :(得分:3)

我找到了问题的答案。

我的申请中是否需要做任何改变波特率的事情?

答案:不,我们不需要在客户端做任何改变波特率的事情。 RFComm通道自动调整波特率。