0

我正在尝试重置在蓝牙接收线程上运行的计数器。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;
    }
}

这是计算数据的代码。我正在尝试重置计数器。

4

0 回答 0