問題タブ [serial-communication]
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.
c++ - MFCシリアル通信
MFCアプリケーションにシリアルポート(COM8など)通信を追加する必要があります。これを行うには、どのAPIを検討する必要がありますか?トリガー(イベント、メッセージ、コールバックなど)する前に、受信キューにnバイトが入るのを待つことができるようにする必要があります。これを行うための比較的簡単な方法はありますか?私が見たすべての例は、受信にポーリングメカニズムを使用しているように見えます。これは私のアプリケーションでは機能しません。キューにnバイトあるときにトリガーされる、ある種のトリガーメカニズムが必要です。ありがとう。
c++ - COM ポートを構成しようとすると、DCB の設定が失敗する
シリアル ポート (COM8 など) を使用する C++ MFC アプリケーションを作成しようとしています。DCB を設定しようとするたびに失敗します。誰かが私が間違っていることを指摘できれば、本当に感謝しています。
ありがとう。
追加情報:生成されたエラー コードは 87 です: 「パラメーターが正しくありません。」おそらく Microsoft の最も有用なエラー コードです。j/k
c++ - USB デバイスが取り外されたときにシリアル I/O をプログラムで中断する - C++
仮想 COM ポートを介して接続された USB デバイスでシリアル I/O が実行されるアプリケーションがあります。デバイスの突然の取り外しが検出された場合、シリアル I/O を停止する最善の方法は何でしょうか。ポートを閉じるだけですか?または、デバイスの存在を示すために維持されるグローバル変数が必要であり、データの送受信を試みる前に各シリアル I/O 関数でチェックする必要がありますか? それとも、2 つを組み合わせたものにするべきでしょうか、それとも別のものにするべきでしょうか? ありがとう。
c++ - シリアル ポートの受信スレッドが期待どおりに動作しない - C++
私のアプリケーションは、受信したシリアル データを非同期的に処理するために別のスレッドを使用しています。PC は予想どおり受信ハンドラーに入りますが、そこから奇妙なことが起こります。
これは私のスレッド関数です:
呼び出し元の行にブレークポイントを設定すると、ReadFile
すべてが期待どおりに機能し、PC はコールバック関数に入ります。ただし、ブレークポイントを次の行に設定すると、dwWritten
がゼロと評価され、ゼロになり、式が TRUE として評価され、ループが終了します。PC がコールバックに到達することはありません。私は何を間違っていますか?ありがとう。
c++ - アプリケーションが COM ポートからシリアル データを受信しない - C++
アプリケーションが COM ポートからデータを正しく受信していません。これは以前は機能していました。何が起こったのかわかりません。プロトコル アナライザーで確認できるので、回線上で適切なデータが送受信されていることがわかります。
PC はこのWAIT_OBJECT_0 + 1
状態になりますが、バッファの内容は常にゼロです。これがたくさんあることは知っていますが、誰かが私が間違っていることを指摘できれば、本当に感謝しています. リクエストに応じて詳細を追加/削除できます。ありがとう。
編集:追加情報
ReadFileEx
PC が を呼び出し、「成功」することを確認できました。ただし、PC は には入りませんFileIOCompletionRoutine
。何か案は?(コードからエラー処理を削除して、作業を簡素化しました。) また、MSDN Web サイトで読んだところによるとFileIOCompletionRoutine
、独自のスレッドで非同期的に呼び出されるようです。あれは正しいですか?ありがとう。
編集:最終的な解決策
これが私が思いついたものです。明らかに、初期化とエラー処理のコードはここにはありません。物事を簡単にすることはできません。:)
objective-c - Objective-C で RS232 デバイスと通信するにはどうすればよいですか?
コマンドラインの Foundation Objective-C プログラムを作成しようとしていますが、RS232 シリアル デバイスと通信する必要があります。
これを行う方法についてのアイデアはありますか?
編集 - これはiPhone 用ではありません。これはデスクトップアプリケーションです。
c# - 接続が開いている間にSerialPortのBaudRateを変更する
SerialPortクラスを使用して外部デバイスと通信しています。私は毎秒300ボーで通信を開始しますが、最初の「ハンドシェイク」の後、デバイスで指定されたボーレート(通常は9600 Bps)に切り替える必要があります。
ボーレートを上げた後も通信を続けようとして失敗しましたが、理由はわかりません。それは私の質問につながります:ボーレートを変更する適切な方法は何ですか?接続が開いているときに実行できますか、それとも最初に接続を閉じる必要がありますか?
ドキュメントでこれに関する情報を見つけることができませんでした...
私は両方を試しましたが、両方の方法で失敗しました。そのため、明らかな何かが欠けているに違いないと思いました。
c++ - C++に関する質問
これはおそらくあなた方の何人かにとっては非常に単純なものです。
次のシリアル読み取り機能を見ていましたが、ここで何ができるのかよくわかりません&prefix[2]
。2バイトしか埋められないということですか?
また、これはプレーヤー/ステージプラットフォームの一部であることにも言及する必要があります。
visual-c++ - vc++ mfc でのシリアル プログラミング
「COM3」ポートを継続的にリッスンし、データを印刷する2つのアプリケーションを作成しています。
その「COM3」ポートに書き込む必要がある他のアプリケーションを実行すると、書き込み用のシリアルポートが存在しないというエラーが表示されます。
2 つのアプリケーションが同時にハンドルを開いて、システム内の同じシリアル COM ポートにアクセスできますか?
visual-c++ - vc++mfcでのシリアル通信の問題
埋め込みデバイスで作業しています。COM6ポートに接続されています
パテを使用してそのポートに書き込むと、結果が返されます。
例として、「こんにちは」と言うと、「こんにちは」と返信します。
COM6に書き込むプログラムを作成しました。COM6ポートに書き込むことができますが、読んでいるときに何も得られません。
私のコードは...
// HelloWorld.cpp:コンソールアプリケーションのエントリポイントを定義します。//
誰かがこれで私を助けることができますか?私が作っている間違ったものは何ですか?