2

カスタムボーレートで詳細に説明されている問題を正確に抱えています-baud = SetCommState()921600で失敗しますが、baud = 115200で成功します-Windows 7 64ビットではありますが、次のようないくつかの奇妙な状況があります。

1) 私が話しているポートは、Silicon Labs の USB-to-UART アダプターであり、ドライバーを備えていますが、(私が理解しているように、私を引用しないでください) 私の会社からのものであることを識別するために再署名されています (私たちはそれを必要とする当社のハードウェア製品と一緒に再配布してください)。ハードウェア デバイスをコンピュータに接続すると COM ポートがデバイス マネージャに表示され、切断すると表示されなくなります。これについてはよくわかりませんが、通常の動作だと思います。

2)921600ボーは以前は機能していましたが、私が販売するアプリと私が書いたサンプルプログラムでは、最後に使用したときに正常に動作しましたが、昨日、921600ボーを要求SetCommState()すると「パラメーターが失敗する」という理由で失敗し始めました正しくない。" 要求されたボー レートを 115200 に変更するSetCommState()と成功しますが、通信が許容できないほど遅くなります。

3) 921600 ボーは REALTERM で動作します。ポートを 921600 ボーに設定して開くことができます。エラーやその他の苦情はなく、「正常に機能します」。いつものように、楽器と会話したり、データを取得したりできます。

4) Windows が多数の COM ポートを誤って「使用中」とマークしていた問題を解決する一環として、1、2 週間前にドライバーを再インストールしました。ドライバーのインストールは成功したと主張しましたが、ポートを開くことができませんでした。デバイス マネージャーに黄色の三角形/感嘆符/問題が表示されました。多くの試行錯誤の結果、最終的に、インストール プロセスが .inf ファイルを system32 にコピーできなかったことが明らかになりました。そのファイルを「手動で」所定の場所にコピーすると、通常の操作が行われました--今日まで。

5) 今日のデバイス マネージャーは、デバイスで利用可能な最高速度として 115200 ボーを示していますが、これより高い速度を示したことがあったかどうかはまったくわかりません。「ただうまくいった」ので、私はそれを心配したことはありません。

要するに、昨日まではすべて正常に機能していましたが、突然、自分のアプリが 921600 ボーを実行しなくなりましたが、RealTerm は引き続き実行します。

提案?ソリューション?

4

0 に答える 0