Я использую Bluetooth телефона Android для отправки некоторых данных (строк) на Arduino с устройством Bluetooth.
Все работает как шарм ... но я могу отправить только 325 строк !!!(каждая строка содержит только 2 положительных целых числа).
После этого в logcat eclipse появляется следующее сообщение: «rfc_setup_rx_bufout of buffer: rfc_setup_rx_bufout of buffer: Out of Buffers» каждый раз, когда андроид пытаетсядля отправки новых данных.
Я не могу закрыть bluetooth-сокет и повторно открыть его (или подключить) во время приложения, потому что мне нужно очень быстро отправлять данные для моей цели (около 100-200 мс один за другим)и времени для этого нет.Как я могу "очистить" буфер?Это действительно проблема с буфером ??
Часть кода, который я использую, это:
<code>
private BluetoothSocket btSocket = null;
try {
btSocket = device.createRfcommSocketToServiceRecord(MY_UUID);
} catch (IOException e) {
}
try {
outStream = btSocket.getOutputStream();
} catch (IOException e) {
Log.e(TAG, "ON RESUME: Output stream creation failed.", e);
}
byte[] msgBuffer = message.getBytes();
try {
outStream.write(msgBuffer);
} catch (IOException e) {
Log.e(TAG, "ON RESUME: Exception during write.", e);
}
</code>
«message» в message.getBytes ();на самом деле это строка, которую я отправляю.
Еще одна вещь: я использую массив (byte [] msgBuffer).Могу ли я в любом случае сделать «цикл», чтобы получить индекс [0] или [1] после отправки данных, чтобы эта строка никогда не была заполнена, потому что я бы использовал только 2 значения.
Или проблемас внутренним буфером моего телефона (samsung GT-I5500), а с кодом нет?
A действительно оценит любую помощь, потому что я застрял в этом.