これはおそらくあなたにとっては非常に単純なものです。C++に関する質問
私は次のシリアル読み取り機能を見ていましたが、ここでは&prefix[2]
のことをよく理解できません。それは、2バイトしか埋めることができないということですか?
また、これはプレーヤー/ステージプラットフォームの一部であることにも言及してください。
while (1)
{
cnt = 0;
while (cnt != 1)
{
if ((cnt += read(fd, &prefix[2], 1)) < 0)
{
perror("Error reading packet header from robot connection: P2OSPacket():Receive():read():");
return (1);
}
}
if (prefix[0] == 0xFA && prefix[1] == 0xFB)
{
break;
}
GlobalTime->GetTimeDouble(×tamp);
prefix[0] = prefix[1];
prefix[1] = prefix[2];
}
ありがとうございます。シンプルなことに頭を悩ませて時間を節約しました。私はバイトと種類のプロットを失ったの種類を読み取るの大きな画像を見ていた。 – nixgadgets
bdwなぜヘッダーまたは最初の3バイトを1つのループで読み取るのではなく、このようにしたのですか? – nixgadgets
ストリームの各位置に対して同期バイトをチェックしたいとします。 3バイトを読み込むと、多くの問題が発生します。あなたは生き残るために状態マシンが必要です。バイトの移動はずっと安いです。 – harper