Как увеличить baud rate на android?

Пишу приложение, которое должно отправлять данные по блютузу. Мне дали платку, на которую приходят мои сообщения. Использую программу Terminal v 1.93 для связи компьютера с устройстмо через com port. Когда стоит baud rate 9600 - всё передается прекрасно. Однако от меня просят перевести на 115200. Как только я пробую в терминале выставить 115200, то от телефона приходят лишь

00 00 00 00

В то время, как если baud rate стоит 9600, то получаю нормальную информацию

9E 86 1E E6 98 F8 98 F8 98 66 E6 80 06 66 86 98 F8 98 7E 06 18 18 60 80 18 7E 78

На скриншоте виднее. Справа 9600 Слева 115200 введите сюда описание изображения

Я не могу понять, как мне сделать, чтобы при boud rate 115200 нормально отображались сообщения?

Вот код отправки сообщения

 private void startTimer() {
        if (timer == null) {
            timer = new Timer();
            timer.schedule(new TimerTask() {
                @Override
                public void run() {
                    if (ConnectionManager.getInstance().getConnectedThread() != null)
                        sendJoystickData();
                }
            }, 0, BluetoothPreferences.getSendTime(this));
        }
    }


    private void sendJoystickData() {
        int a = 0xFFCD;
        int b = direction & 0xFF;
        int c = speed & 0xFF;

        int d = a ^ b ^ c;

        String packet = String.format("%04X%02X%02X%02X\n", a, b, c, d);

        Log.d("BMessage", packet);
        MessageManager.SendMessage(packet);
    }
public class MessageManager {

    public static void onMessageReceived(String message) {
        Log.d("MyBluetooth", message);
    }

    public static void SendMessage(String message) {
        byte[] bytes = message.getBytes(Charset.defaultCharset());
        ConnectionManager.getInstance().getConnectedThread().write(bytes);
    }

}
public class ConnectedThread extends Thread {
    public final BluetoothSocket mmSocket;
    private final InputStream mmInStream;
    private final OutputStream mmOutStream;
    private final String TAG = "MyBluetooth";

    public ConnectedThread(BluetoothSocket socket) {
        Log.d(TAG, "ConnectedThread: Starting.");
        mmSocket = socket;

        InputStream tmpIn = null;
        OutputStream tmpOut = null;

        try {
            tmpIn = mmSocket.getInputStream();
            tmpOut = mmSocket.getOutputStream();
        } catch (IOException e) {
            e.printStackTrace();
        }

        mmInStream = tmpIn;
        mmOutStream = tmpOut;
    }

    public void run() {

        byte[] buffer = new byte[1024];
        int bytes;
        StringBuilder messageBuilder = new StringBuilder();

        while (true) {
            try {
                bytes = mmInStream.read(buffer);
                final String incomingMessage = new String(buffer, 0, bytes);
                messageBuilder.append(incomingMessage);
                
                if (incomingMessage.contains(">>")) {
                    final String completeMessage = messageBuilder.toString().replace(">>", "");
                    messageBuilder.setLength(0);

                    MessageManager.onMessageReceived(completeMessage);
                }
            } catch (IOException e) {
                Log.e(TAG, "write: Error reading Input Stream. " + e.getMessage());
                break;
            }
        }
    }

    public void write(byte[] bytes) {
        String text = new String(bytes, Charset.defaultCharset());
        Log.d(TAG, "Отправляю текст: " + text);
        try {
            mmOutStream.write(bytes);
        } catch (IOException e) {
            Log.e(TAG, "write: Error writing to output stream. " + e.getMessage());
        }
    }

    public String getDeviceAddress() {
        return mmSocket.getRemoteDevice().getAddress();
    }

    public void cancel() {
        try {
            mmSocket.close();
        } catch (IOException e) {
        }
    }
}


Ответы (0 шт):