問題タブ [baud-rate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
serial-port - POSIX、非標準ボーレートのシリアルプログラミング
RS232入力を受け取り、それをファイルに保存する単純なプログラムをUNIXで実装しています。
これらのリファレンスを使用しました: http://en.wikibooks.org/wiki/Serial_Programming/Serial_Linuxおよび http://www.easysw.com/~mike/serial/serial.html
921'600 bps と 1'843'200 bps で試しましたが、正しく動作します。ただし、非標準のボー レート (たとえば 1'382'400 bps) を設定すると機能しません。
つまり、これは機能します:
しかし、これはそうではありません(ランダムデータを取得します):
何が問題になる可能性がありますか?
WinXP で (WIN32 関数の CreateFile、SetCommState、および ReadFile を使用して) 試してみましたが、正しく動作します (1'843'200 bps および非標準の 1'382'400 bps で)。
追伸: この非標準のボーレートを設定する必要がある理由を尋ねられた場合、それは、この速度でのみ動作する特別なマシンのためです。
よろしく、デビッド
.net-3.5 - 高ボーレートでの転送中にシリアルデータが失われる
シリアルポート通信に関するあなたの質問を読みました。しかし、シリアルポート通信に問題があります。
私が見た問題の 1 つは、ボーレートが高いと、レシーバー側で一部のデータが失われることです。なぜこれが起こるのか教えていただけますか?どうすれば修正できますか?
115200 ボー レートでデータを送信するデバイスがあり、受信機は同じボー レートに設定されていましたが、転送中にデータの一部のバイトが失われることがあります。
linux - UBoot ボーレート パラメータ
コンソール引数の UBoot ボー レート パラメータは、/sbin/getty
実行されていないときにシリアル ポートにアクセスするスタンドアロン プログラムに影響しますか?
前もって感謝します、
バート
c++ - Linux でボーレートを 307,200 に設定するにはどうすればよいですか?
基本的に、次のコードを使用してシリアルポートのボーレートを設定しています:
これは非常にうまく機能します。しかし、307,200 のボー レートを使用するデバイスと通信する必要があることはわかっています。どうすれば設定できますか?cfsetispeed(&options, B307200);
動作しません、B307200
定義されていません。
MOXA Uport 1150 (実際には USB-to-serial コンバーター) と Intel マザーボードの標準シリアル ポートを使って試してみました。後者の正確な種類はわかりません.setserialはそれを16550Aと報告しています.
winapi - ダイヤルアップ接続 win32 でのボーレートの設定
Windows XP および Windows 7 (RasSetEntryProperties) のコードでダイヤルアップ接続を作成しています。エントリは、デフォルトのボー レート 19200 で表示されます。
Win32 を使用して、Windows XP と Windows 7 の両方でボー レートを変更するにはどうすればよいですか?
c - vxworks でシリアル ポートのボー レートの設定が失敗する
シリアル ポート経由でデータを送信する vxworks タスクを作成しています。シリアルポートのオープンに成功。しかし、ioctl() システム コールを使用してポートのボー レートを設定しようとすると失敗します。私は以下のコードを与えています。誰かがそれに光を当てることができますか?2番目の機能は常に失敗しています...
java - 接続を閉じずにボーレートを変更するにはどうすればよいですか?
初期ボーレート300でシリアルポート(COM4)に接続されているデバイスに接続したいのですが、デバイスはコマンドでボーレートを9600に変更できます。私のJavaコードはこのコマンドをデバイスに送信し、デバイスのボーレートが変更されました。しかし、接続を閉じずにプログラムのボーレートを変更する方法がわかりません。接続が閉じられると、デバイスは初期ボーレートに戻ります。
接続が開いているときにJavaでボーレートを変更する方法はありますか?
「ボーレートの変更」コマンドをデバイスに送信した後、以下のコードを実行すると、デバイスは接続を失いました。この方法は、通信の途中でボーレートを変更するためではなく、初期化のためだけのものだと思います。
c# - 接続を閉じずに C# でボーレートを変更する
次のリンクと同様の問題があります。接続を閉じずにボーレートを変更するには? . しかし、Java の代わりに C# を使用しています。ボー レート 300 から始めます。その後、握手をした後、ボー レートを 4800 に変更する必要があります。これを行うコマンドをデバイスに送信します。そして、シリアルポートのボーレートを変更します。その後、デバイスとの通信を続行できません。(300 ボーのままでデバイスに 300 ボーのコマンドを送信すると、通信を続行できます)
このデバイスからも読み取るサードパーティのソフトウェアがあります。そのソフトウェアが実行されているときにポートをリッスンしています。デバイスに送信しているものと同じコマンドを送信します。4800 ボーを設定するコマンドをデバイスに送信し、デバイスから応答を取得できます。ボー変更中にポートを閉じたり、再度開いたりすることはありません。私も同じことをしなければなりません。しかし、4800 ボーに変更するコマンドを送信しても、デバイスから応答がありません。
私はあなたの答えを待っています。ありがとう、フェルダ
これは、プロセス「ReadY.vshost.exe」によって開かれたシリアルポート監視プログラムの出力です (PID: 2608)
01 42 30 03 71 .B0.q
回答: 09.08.2011 10:55:40.81864 (+0.2656 秒)
06 .
リクエスト: 09.08.2011 10:55:41.06864 (+1.2500 秒)
2F 3F 31 31 39 39 39 30 30 34 21 0D 0A /?11999004!..
回答: 09.08.2011 10:55:41.58464 (+0.5156 秒)
2F 53 54 52 34 5F 42 53 4D 31 33 31 0D 0A /STR4_BSM131..
リクエスト: 09.08.2011 10:55:42.31864 (+0.2969 秒)
06 30 34 31 0D 0A .041..
c# - 新しいボーレートを設定した後にポートを閉じて再度開いても、C#でボーレートを変更することはできません
フォーラムでも同様の質問があります。接続を閉じずにC#でボーレートを変更します。その質問で、ポートを閉じずにボーレートを変更する方法を尋ねました。誰かが私にポートを閉じて再度開くように提案しましたが、私はその質問をする前にすでにそれを試しましたが、それも機能しませんでした。ポートを閉じて再度開くことは私にとって重要ではありません(同じメーターと通信しているサードパーティのソフトウェアは、モニター時にポートを閉じていなかったので、それが手がかりかもしれないと思って質問しました)重要なことはボーを変更することですデバイスのレート。私は助けを待っています。お時間をいただきありがとうございます。フェルダオズデミール