RS232C送信バッファ空割り込み

データーの送信時、送信バッファが空になったときの割り込みを使用すれば、連続データーを容易に送信する事が出来ます。

CommTransmit

var

SendNo: integer;

SendData: string;

procedure TForm.startsend;

begin

SendNo := 1; // 送信空割り込み時の送信制御

Comm1SendString('Test'); //送信の開始

end;

procedure Form.Comm1CommTransmit(Sender: TObject; Size: Cardinal);

begin

Case SendNo of

2 : begin

Form.Comm1SendString('Test');

SendNo := 0; //Case文よる実行防止

end;

1 : begin

SendData := 'ABCDF****' + #13#10;

Form.Comm1SendString(SendData);

inc(SendNo);

end;

end; //caseEnd

end;

送信バッファからFIFOバッファに最後のデーターを送った時点で、送信バッファからの割り込みが発生します。