更改蓝牙 SPP 连接的波特率

rai*_*ij1 3 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);
    }
Run Code Online (Sandbox Code Playgroud)

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

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

我有什么遗漏的吗?我是否不需要在应用程序中执行任何操作来更改波特率?RFComm通道是否自动调整波特率?

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

问候, 贾格米特

rai*_*ij1 5

我找到了我的问题的答案。

我是否不需要在应用程序中执行任何操作来更改波特率?

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