- ベストアンサー
CRCの計算でエラー
VisualC++2008でプログラミングしております。簡単なモデムプログラムを作っているのですが、エラー検出で利用するCRCでつまづいています。具体的には、特定のファイルを送信しようとすると常にエラーが発生したと判断され、再送要求をし続けてしまいます。 以前、チェックサムでXORを利用した時も同様なことが発生したので、XORの計算があやしいのかなと感じています。デバッグでは正しく計算されるようなのですが、リリースで実行すると上記のようになります。 どなたかアドバイスを頂ければと思います。よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
お礼
回答を頂きありがとうございました.調査の結果,原因はCRCの計算ではないということが分かったので,締め切らせてもらいました. 送信側ではデータ128バイトプラスCRC2バイトの130バイト送信しているのですが,受信側で特定のデータブロックのときのみ129バイトしか受信されていませんでした.なぜかCRCの下位ビットが切れてしまうのです.これはこれで疑問なのですが,この質問とは関係なくなるのでここで終了とさせてもらいます. 私の調査不足が招いたことですが,ご回答を頂きありがとうございました.