COMポートには、読み出し書き込み用として、
通信コンポーネント
で設定している、
バッファ
以外に、デバイス側で用意している、
First-In First-Out(先入れ先出し)の
バッファ
が設定されています。
Windowsでは、読み出し側
1~
14バイト 送信側
1~
16バイト迄、調整可能となっていますが、デバイスにより、固定のものもあります。
バッファ
としては、
通信コンポーネント
で設定するものと、デバイス側の
FIFOバッファ
の二重に設定されることになります。
FIFOバッファ
は、デバイスのハードが使用するものと考えたほうが良いでしょう。
読み出し時は、
FIFOバッファ
に一旦読み出され、それがいっぱいになると、通常の
バッファ
に転送され、読み出し割り込みを設定していると、読み出し割り込みが発生します。
もし、端数が生じた場合は、
Latency Time 後 読み出し割り込みが発生します。
アプリケーションの実行に余裕が無く、割り込みの実行が出来ない場合は、通常の
バッファ
に蓄積されます。
FIFOバッファ
の設定値は、デバイスマネージャー ポート 通信ポート
(COMx)のプロパティ ポートの設定 詳細設定で行います。
FIFOバッファを変更した場合は、PCを再起動しないと変更が有効になりません。
USB_RS232C変換ケーブルでは、独自に設定されていて、変更出来ないもの、変更しても動作上変わらないものがあります。
送信用は、デバイスが自動的に転送するため、割り込みはありません。
あるのは、
バッファ
が空になったときの割り込み発生です。
Latency
_Time
を参照してください。