シリアル通信(RS232C)をC言語で組んでみよう 俺は、Windows-APIを使って組んでいます。 送信するときは、自分が送りたい時に送れば良いのですが、 受信するときは、相手側からいつ受信するかわからない。 しかもWindowsMessageのCALLBACK関数からは受信したよというメッセージはない。 常にポーリングして受信を待ち続けるとCPUの能力が低下します。 それは、受信・タイマーにより受信中断の繰り返しをぐるぐる処理するためです。 それに対して、I/Oイベント駆動は、受信されるまで処理を待って、 受信したら処理を継続します。 待っている間CPUの処理をしないで能力が低下することが少ないです。 今回は、このI/Oイベント駆動の方法で説明します。 API関数は、下記の種類を使います。 ・CreateFile ・ReadFile ・WriteFile ・SetCommMask
![シリアル通信をC言語で組んでみる: Ken-908](https://cdn-ak-scissors.b.st-hatena.com/image/square/5d7744c676c308b4c7e6c9e2b41aaf8f100cd3c4/height=288;version=1;width=512/http%3A%2F%2Fken-create.cocolog-nifty.com%2F.shared-cocolog%2Fnifty_managed%2Fimages%2Fweb%2Fogp%2Fdefault.png)