RS232C割り込みの使用

CommEvent

Procedure TForm.Comm1CommEvent(Sender: TObject;EventMask: TCommEventMask);

begin

if evBreak in EventMask then

begin

   ここにブレーク受信時の実行文が入ります。

end;

if evRing in EventMask then

begin

   ここにRING受信時の実行文が入ります。

end;

end

CommEvent割り込みが発生するのは、

evRxflag, evCts, evDsr, evRlsd, evBreak, evRing

CommEvent割り込みが発生しないのは、

evRxchar, evTxempty, evErr

  上記三つは、専用の割り込みルーチンがある為CommEvent割り込みは発生しません。

evRxchar   文字受信イベント

evRxflag    イベント文字の受信

evTxEmpty  送信バッファが空

evCts CTS信号の変化

evDsr DSR信号の変化

evRlsd RLSD(CD)信号の変化

evBreak    ブレークの検出

evErr     回線状態エラー(CE_FRAME, CE_OVERRUN, and CE_RXPARITY)

evRing    電話が掛かってきた

 evErrを使用した場合は、ブレーク割り込みはエラーとしてCommErrEventに発生します。