我正在尝试重置在蓝牙接收线程上运行的计数器。BT 发射器发送的每个数据包中有 4 个数据字节。数据包时间为 300 毫秒。一段时间后,由于未知原因,接收数据失序,所以我想我可以添加一个计时器来重置数据包之间的计数器,以确保数据有效。根据我读过的博客,没有内置超时,所以我假设有人创建了一个。
while (true) {
try {
byte[] packetBytes = new byte[20]; // Start new packetbyte
Log.d(TAG, " Counter " + counter);
mmInStream.read(packetBytes); // Read Bluetooth socket
b [counter]= packetBytes[0]; // Save each byte into B
counter++;
if(counter == 4){ // After 4 bytes DO this
Log.d(TAG, " Done ");
counter=0; // Reset counter
h.obtainMessage(RECIEVE_MESSAGE, counter, -1, b).sendToTarget(); // Send to message queue Handler
}
} catch (IOException e) {
break;
}
}
这是计算数据的代码。我正在尝试重置计数器。