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は、通信テストの為の、ものと考えて下さい。