Q1.パリティエラーなどのエラーは検出出来ないのですか?

A1.通信エラーは、IOCTL_SERIAL_GET_COMMSTATUSのErrorsの値で確認する事が出来ます。値は、bit毎の論理和になっています。通信エラーが発生している場合は、イベントリストにアイコンが表示されます。

Errorsの値

bit 定義名 エラー内容
0x01 SERIAL_ERROR_BREAK ブレーク検出
0x02 SERIAL_ERROR_FRAMING フレーミングエラー
0x04 SERIAL_ERROR_OVERRUN オーバーランエラー
0x08 SERIAL_ERROR_QUEUEOVERRUN キューオーバーランエラー
0x10  SERIAL_ERROR_PARITY パリティエラー


この値が有効になる条件としては、以下の2つの条件が満たされる必要があります。
1)通信アプリケーションがエラーの検出を行うようにシリアルデバイスをプログラミングしている。
2)シリアルデバイスがエラーの検出をサポートしている。
USBシリアルデバイスなどでは、一部のエラー検出をサポートしていないものもあるようです。


Top Page

Copyright (C) 2004-2007 Hideki Kurihara