• ベストアンサー

シリアル通信時のデータ受信方法

シリアル通信を実現しようとしていて、現在データ送信は完成しました。 しかし、データ受信方法が分かりません。 データはいつやってくるのかが分からないので、 「データ受信したら割り込み(イベント?)ルーチンに入る」という方法がいいかなあ、と考えています。 「データ受信したら割り込み(イベント?)ルーチンに入る」方法を教えてください。 もし他に方法があれば教えてください。 すみませんがよろしくご教授お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

WaitCommEvent関数で指定した通信デバイスでイベントの発生を監視する。 Declare Function WaitCommEvent Lib "kernel32.dll" _ (ByVal hFile As Long, lpEvtMask As Long, lpOverlapped As OVERLAPPED ) As Long WaitCommEvent(ハンドル,イベント,NULL)で受信イベント待ち状態にして受信イベントがEV_RXCHARならReadFile関数に処理を渡す。

その他の回答 (1)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

MsCommコントロールを使用する方法とAPI関数を使用する方法とがありますがMsCommコントロールでしょうか。 MsCommのOnCommイベントでRThresholdで指定した文字数を受信したら受信のイベントを発生させれば良いのではないでしょうか。

yukoyoko
質問者

補足

あ!すみません補足です。。。 他の言語でも作成するかもしれないのでAPI関数を使用する方法をご教授ください。 すみませんがよろしくお願いいたします。

関連するQ&A