掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
シリアル通信中のボタンの受付 (ID:68272)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
お願いします。 環境はVisual C++ 2005 ダイアログベース MFCアプリケーションです。 ボタンを二つ用意し、一つがシリアル通信を開始するSTARTボタン、もう一つがそれを止めるSTOPボタンとします。 STARTボタンを押すとシリアル受信をします。 while(1){ 前処理 ReadFile(Handle, data, 1, num, NULL); 後処理 } こんな感じです。 それで、STOPボタンが押されたらwhileから抜け出して処理を終了したいと思っています。 前処理のところにPeekMessageを入れてみたのですが、うまくSTOPボタンをおせません。 原因はCOMTIMEOUTS構造体の設定だと思います。 timeouts.ReadTotalTimeoutMultiplier = 500; //1Byte毎のタイマ timeouts.ReadTotalTimeoutConstant = 10; //1関数コール毎のタイマ これで、ReadFileのところで500ms待ちますよね? それが原因だと思うのですが、この設定を変更できない場合、STOPボタンを認識することは可能でしょうか? 現在は変更を設定できるか調査中ですが、今後同じようなことが起きたときの為にも勉強したいと思っております。 よろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.