掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
文字がうまく受信できない (ID:69071)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
教えてください。。。 シリアル受信を行っているのですが、大量のデータを受信しています。 (example:10msごとに20byteのデータを10秒間受信) 無限ループでReadFileを実行し、1byteずつWindowsバッファから取り出し、自分のバッファに積んでいます。 すると途中で正しい文字が積まれないことがあります。 前後は正しく取り出せているのに、途中で1byteだけ抜けてしまうことがあります。 外部から送られてくるデータが正常に送られていることは確認しました。 Windowsバッファのサイズが小さいかと思い、十分に大きい値にしてみましたが解消されません。 また、ReadFile、ClearCommErrorの戻り値が0にもなりません。 何か考えられることはありますか? よろしくお願い致します。 ちなみに以下がWindowsバッファからの読み込み部分です。 ------------------------------------------------------ DWORD dw; COMSTAT Cs; char data[2]; int num = 0; BOOL tst; tst = ClearCommError(Handle, &dw, &Cs); if(tst == 0) AfxMessageBox("ERROR"); tst = ReadFile(Handle, (LPVOID)data, 1, &num, NULL); if(tst == 0) AfxMessageBox("ERROR");
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.