おいちゃんのおぼえがき

仕事のTipsをメモするブログ

シリアルポート受信ハンドラ内からタイマを起動する

2011-08-23 | Win
C# で、シリアルデータ受信の一定時間後に何か行うために、シリアルポートとタイマを置いた。
しかし、このままシリアルポートの受信ハンドラ内からタイマの Enalbed または Start() を行ってもタイマは動かない。
受信ハンドラ内は別スレッドの扱いなのか、Invoke() を使う必要があるようだ。
具体的には下記の通り。

 private void port1_DataReceived(ob..........) {
  if (port1.ReadByte() == c) {
   // ここでタイマにキックをかける
   Invoke((MethoInvoker)delegate() { timer1.Start();});
  }
 }
この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« H8 IOポートの入出力切り替え | トップ | MMTIMERの代わりに・・・ »

Win」カテゴリの最新記事