RS232CFIFOバッファ

COMポートには、読み出し書き込み用として、通信コンポーネントで設定している、バッファ以外に、デバイス側で用意している、First-In First-Out(先入れ先出し)のバッファが設定されています。

Windowsでは、読み出し側 1~14バイト 送信側 1~16バイト迄、調整可能となっていますが、デバイスにより、固定のものもあります。

バッファとしては、通信コンポーネントで設定するものと、デバイス側のFIFOバッファの二重に設定されることになります。

FIFOバッファは、デバイスのハードが使用するものと考えたほうが良いでしょう。

読み出し時は、FIFOバッファに一旦読み出され、それがいっぱいになると、通常のバッファに転送され、読み出し割り込みを設定していると、読み出し割り込みが発生します。

もし、端数が生じた場合は、Latency Time 後 読み出し割り込みが発生します。

アプリケーションの実行に余裕が無く、割り込みの実行が出来ない場合は、通常のバッファに蓄積されます。

FIFOバッファの設定値は、デバイスマネージャー ポート 通信ポート(COMx)のプロパティ ポートの設定 詳細設定で行います。

FIFOバッファを変更した場合は、PCを再起動しないと変更が有効になりません。

USB_RS232C変換ケーブルでは、独自に設定されていて、変更出来ないもの、変更しても動作上変わらないものがあります。

送信用は、デバイスが自動的に転送するため、割り込みはありません。

あるのは、バッファが空になったときの割り込み発生です。

データーの受信

データー受信イベント

Latency_Timeを参照してください。