UNIXシリアルポートには大きな出力バッファがあります。書き込み呼び出しは、バッファに空きがある限りすぐに戻ります。十分なスペースがない場合、ブロッキング書き込みはバッファがある程度低レベルになるまで待機します。Windows 7のシリアルポート出力バッファサイズ
Windows 7 SP1では、ビルトインの16550シリアルポートはあたかも出力バッファがないかのように動作します。それはデータがポートから出力されるまで書き込みブロックと思われる。バッファがある場合、デバイスマネージャ(COM1の詳細設定)で設定された16バイトよりもさらに小さくなります。 SetupComm関数を使用すると、入力バッファと出力バッファの推奨サイズを指定できます。ただし、出力バッファサイズは動作を変更しないようで、GetCommPropertiesは常にdwCurrentTxQueueフィールドを0に設定します。 SetupCommが行うことができる唯一のことは、入力バッファのサイズを増やすことです。
マシンにはシリアルポートが装備されていません。これは実際のポートですか、実際はエミュレータですか?デバイスマネージャでドライバを調べます。 –
はい、PCのマザーボード上のシリアルポートです。それは私が「16550シリアルポートに組み込まれた」という意味です。 16550はUARTチップの一種で、組み込みのポートは通常互換性があります。 – dreamlayers