2011-08-16 8 views
0

フォーラムで同様の質問があります。 Change baud rate in C# without closing connection。その質問では、ポートを閉じずにボーレートを変更する方法を尋ねました。誰かが私にポートの閉鎖と再開を提案しましたが、私はすでにその質問をする前にそれを試みましたが、それもうまくいきませんでした。ポートを閉じて再オープンすることは私にとって重要ではありません(同じメーターと話しているサードパーティのソフトウェアは監視していたのでポートを閉じていなかったので、装置の速度。私は助けを待っています。ありがとうございます。 Ferda Ozdemir新しいボーレートを設定してもポートが閉じられていても、C#でボーレートを変更できません

+0

接続しているデバイスの詳細を教えてもらえますか? – dbasnett

+0

こんにちはDbasnett、私は電子電気メーターに接続しています。それは300 Baudで始まり、4800 Baudになります。そのデバイス用の別のソフトウェアがあります。私はそのソフトウェアを実行し、ポートを監視します。私は、それが4800にボーレートを変更するためにメーターにACKコマンドを送信し、それが読み取ることを参照してください。しかし私のソフトウェアでは、私は同じコマンドをメーターに送り、私はそれ以上通信できません。 –

+0

4800でプログラムを実行しようとしましたか? – dbasnett

答えて

0

私のシリアルポートオブジェクトは私のメインフォームで定義されています。私はパラメータとして私の読書機能に送っていました。ポートを開く、ボーレートを設定する、データを書き込む、ポートを閉じるなどのすべての操作を行いますが、私は別のスレッドでこの関数を実行していました。私がボーレートを変更しようとすると、遅延や何かがあると思うので、ボーレートを正しく変更することはできません。その後私は自分のコードを変更し、私はボーレートを変更し、他のものと続けることができます。ご協力いただきありがとうございます。

+0

ドライバが書き込みバッファを空にするまで待つ必要があります。しばらく時間がかかる300ボーでは、1秒あたり30バイトしか書き込まれません。 –

関連する問題