RS232C受信割り込み発生文字数の設定

ReceiveThreshold

COMMコンポーネントの受信割り込み文字数の設定は、通常 1 以外使用しません。

通信文字数が、完全に固定長の場合以外は使用しないでください。

固定長であっても、 1 として、ターミネーターを検出する事により、通信するほうが、正しく通信できます。

 1文字に指定しても、スレッドの受信割り込みは、連続でデーターを受信した場合、数文字受信後、割り込みが発生したりします。(スレッドの受信割り込みはFIFOバッファによりますが、このバッファを1に指定すると、スレッドの割り込みが頻繁に発生し、通信速度が速い場合、データーの欠落の恐れがあります。)

スレッドの受信割り込みにより、発生した割り込み受信の文字数が、ReceiveThresholdの値と等しいか、大きいときに、コンポーネントの受信割り込みが発生します。

1文字に指定した場合、1文字を含み1文字以上受信した場合、割り込みが発生します。

3文字に指定した場合は、3文字を含み3文字以上受信した場合、割り込みが発生と解釈しましょう。

Comm1.ReceiveThreshold := 1; // Thresholdを1文字に設定

Comm1.ReceiveThreshold := 3; // Thresholdを3文字に設定

ReceiveThresholdは、通信テストの為の、ものと考えて下さい。