RS232C受信エラーの確認

 通常は受信エラーを表示しません。

間違えると、エラーを次々と表示し、次へ進むのが大変になるからです。

ReadErrShow リードエラーの表示指定

ShowOn リードエラー表示

ShowOff リードエラー非表示

evErr エラー割り込みマスク指定

  例

Comm1.ReadErrShow := ShowOff;

Comm1.EventMask := [evRxchar];

Comm1.ReadErrShow := ShowOn;

Comm1.EventMask := [evRxchar,evErr];

受信エラー内容を表示させるのには、evErr  ShowOn を同時に行います。

evErrを指定すると、ブレークもエラーとして取り扱われているため、ShowOn,ShowOffに関係なくブレークの受信は出来なくなります。

evBreakを有効してCommEvntでブレークを検出する場合はevErrを有効にしてはいけません。

ShowOnが無く、evErrのみの場合は通常のCommErrEvntの割り込みになります。

EvErrShowOnの両方を設定時は、画面にエラーメッセージが表示されます。

ShowOff evErr (True)で、通常のCommErrEvnt 例

procedure TForm1.Comm1CommErrEvent(Sender: TObject;; ErrCode: Cardinal);

begin

ここにエラー時の実行文を入れます。

if (ErrorCode and CE_BREAK) <> 0 then *****; // evErr 使用時のBreak受信処理

end;

アプリのデバッグ時のみ ShowOn にして、デバッグが済んだら、ShowOffにしておきましょう。

現在、専用のIC、ケーブルを使用するため、お互いの通信設定が合っていれば、通信エラーが発生することは、有りません。

受信エラーは、エラーのある受信時では発生せず、次の文字受信時に、エラーの確認が出来ます。

パリティエラー、フレーミィングエラー、オバーランエラー等の確認ができます。

(CE_BREAK, CE_FRAME, CE_OVERRUN, and CE_RXPARITY等)

CommErrEvntを参照してください。