0

Bluetooth 受信スレッドで実行されるカウンターをリセットしようとしています。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