0

COMバッファに関して、Windowsからかなり奇妙な動作が見られます。

FTDIチップを搭載した3つのUSBシリアルコンバーターを使用しています。でCOMポートを開くCreateFileと、すべて正常に動作します。ボーレートを除いて、3つのポートはすべて同じ構成です。2つは38400で、1つは9600で動作します。

ここに奇妙な部分があります:

9600ポートと38400ポートの1つから正常に書き出すことができます。2番目の38400ポートはデータをバッファリングしているようです。ハイパーターミナルでこのポートに接続しましたが、動作中のポートではすぐに応答が返され、「奇妙な」ポートではアプリケーションを閉じたときにのみデータが取得されます...

他の誰かがこれを経験しましたか?これをどのように解決しましたか?

4

2 に答える 2

0

これは暗闇の中でのショットのようなものです...しかし。

「奇妙な」接続の両端のフロー制御設定を確認してください。フロー制御が一致しない場合、このような奇妙なことが見られます。ポートを閉じると、ビットがクリアされ、バッファリングされたデータが流れるようになります。

于 2011-05-13T13:00:53.723 に答える
0

FTDIチップを少し使ったので、各ポートの高度なドライバー設定を確認することをお勧めします。このドライバーは、高スループットと低レイテンシーの間で妥協できるように、バッファリングとレイテンシー制御の両方をサポートしています。したがって、機能する設定を確認し、機能しない設定にも同じものを使用します(同じでない場合)。

ちなみに、FTDI独自のAPIを使用することで、COMポートの再割り当てなどを追跡する必要がなくなります。APIは通常のWin32のものと非常に似ていますが、より多くの構成オプションを公開します。

于 2011-05-15T19:52:38.560 に答える