問題タブ [serial-port]

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.

0 投票する
1 に答える
2666 参照

c++ - C++ の ZwCreateFile の例はどこにありますか?

既に開いている COM ポートを読み取る例を探しています。唯一見つかったのは、 と呼ばれるメソッドを参照する PORTMON と呼ばれるアプリケーションですZwCreateFile

0 投票する
2 に答える
1494 参照

serial-port - Readline() を使用してデータをドロップするシリアル ポート

シリアル ポートを使用して、シン クライアントに接続されているスケールからデータを読み取っています。99% の場合、データは正しく読み取られます。つまり、スケール上にあるものは何でも、アプリケーションによってキャプチャされます。ただし、データがドロップされているように見える場合があります。たとえば、90.007 の代わりに 0.007 として読み取られます。私は ReadLine 関数を使用しています:

0 投票する
4 に答える
62225 参照

c# - シリアル ポート ReadLine と ReadExisting、またはシリアル ポートからデータを適切に読み取る方法

シリアルポートからデータを読み取っています。データはスケールから外れます。を削除した後でも、現在使用してReadline()おり、データが削除されてDiscardInBuffer()います。

シリアルポートからデータを読み取る適切な方法は何ですか? オンラインでの例は非常に少ないため、誰も理解していない聖杯のように感じます.

C#、WinCE 5.0、HP シン クライアント、コンパクト フレームワーク 2.0

私のアプリケーションで注意すべきことの 1 つは、カーソルがテキスト ボックスにジャンプしたときにスレッド (weighSample) を開始することです。これは、重量を手動で入力することもできるためです (要件の一部)。そのため、ユーザーが天びんの PRINT を押すか、重量を入力するかは事前にわかりません。どちらの場合も、データを取得したら、ワーカー スレッドを終了します。また、シリアル ポート イベント DataReceived を使用していないことに注意してください。これは、信頼できないと言われているためです。

これは、シリアルポートを使用した最初の経験です。

0 投票する
1 に答える
3855 参照

c# - serialport.Write() - バイトを適切にフォーマットする方法

プログラムで PRINT することにより、スケールに戻す必要があります。

マニュアルには、印刷コマンドはキャリッジ リターンで終わる単純な P であると記載されています。次のコードを使用します。

しかし、1回おきにスケールからESコードが返されます。これはエラーを意味しますが、それでも印刷されます。機能しているのに、ESが戻ってくる理由を知りたいだけです。

何か案は?bytes[] の形式は正しいですか?

0 投票する
5 に答える
20572 参照

java - Java で Linux のシリアル ポートを使用するにはどうすればよいですか?

シリアル ポート経由でピンパッドを管理する Java アプリケーションを使用します。これは、Sun Comm.jar、提供された dll、およびプロパティ ファイルを使用して Windows で完全に機能します。

現在、このソリューションを Linux で使用しようとしています (実際には、現場で他のさまざまな種類の Linux で実行されています) - Ubuntu サーバー モードを使用します。

多くの試行錯誤の結果、血と汗とほとんど涙がこぼれた後、次のシナリオができました。

Java バージョン 1.4.2_17 Linux - Ubuntu Comm libs - Sun が提供する Comm3 (デフォルトのドライバーが指定されている)

外部通信テストは、通信ポート /dev/ttyS0 および /dev/ttyS1 を示していますが、Java アプリケーションは、ポート /dev/ttyS1 を開くことができないと言います

(RXRT ファイルを使用すると、無効なポート エラーが発生します)

Linux でシリアル ポート通信に Java 1.4.2 を使用でき、私のシナリオに適用できる解決策を見つけた人はいますか?

大変感謝しています

フィル

0 投票する
3 に答える
12141 参照

c# - シリアル ポート通信: シリアル ポートのポーリングとシリアル ポートの DataReceived イベントの使用

CF2.0 で C# のシリアル ポートと通信するために書いたコードを確認しているところです。信頼できないため、DataReceived イベントは使用していません。MSDN は次のように述べています。

DataReceived イベントは、受信したバイトごとに発生する保証はありません。BytesToRead プロパティを使用して、バッファ内で読み取るデータがどれだけ残っているかを判断します。

ポートを read() でポーリングし、読み取られたデータを処理するデリゲートを用意しています。「ポーリングが悪い」ということもどこかで読みました(説明はありません)。

ポーリングが悪い理由はありますか? 通常のスレッドに関する注意事項とは別に、ポートをポーリングする別のスレッド (バックグラウンド スレッド) があり、データが読み取られた後にスレッドが終了し、すべてテストされ、正常に動作します。

0 投票する
1 に答える
4271 参照

c# - シリアルポート。BytesToRead() 関数

私はシリアルポートc#、CF 2.0で作業しています

読み取るものが何もない場合、この関数は 0 を返すと信頼できますか?

私がやりたいことは、読み取るバイトがなくなるまでデータを読み取ることです。_sp は SerialPort クラスのインスタンスです

0 投票する
3 に答える
64371 参照

c# - C# でのシリアル ポートからの読み取り

Readline() を使用してみましたが、データがドロップされました。Read() を使用してみましたが、エラーを防止する方法がわかりません。複数のパケットを次々に取得する可能性があり、知る方法がないためです。別のパケットが入ってくるということです。パケットの間の BytesToRead は 0 なので、使用できません。バッファにデータを読み取るときに、タイマーを使用するか、スレッドをスリープ状態にして、すべてのパケットが到着できるようにしますか?

迷っています。次に何を試せばよいかわからない。

シリアル ポートから出力される文字列が \n または \r または \r\n で終了するという保証はありません。ユーザーが PRINT を押したときにスケールから来るすべてのパケットを読み取るための絶対確実な方法が必要です。

誰かが私が好きなアイデアでここに答えました-すべてのパケットを一定時間待っていましたが、彼らは答えを消しました. 再投稿できる可能性はありますか?

0 投票する
1 に答える
786 参照

windows-mobile - Windows モバイル (コンパクト フレームワーク) の Com ポートを介してデータを送信する

デバイス(Windowsモバイル)のUSBポートがトラッキングボックスのシリアルポートに接続されているときに、デバイスにcomポートが追加されるように、仮想comポートを作成する必要があります。gprs を使用して com ポート経由で、トラッキング ボックスに設定した指定のアドレスとポート番号にデータを送信したい