問題タブ [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.
python - OS X または Linux でのプログラムによるシリアル ポートとの通信
Apache ログやその他の楽しい統計からのスクロール検索クエリを表示するように設定したい Prolite LED サインがあります。問題は、私の G5 にはシリアル ポートがないため、USB からシリアルへのドングルを使用する必要があることです。/dev/cu.usbserial および /dev/tty.usbserial として表示されます。
私がこれを行うと、すべてがハンキードーリーのようです:
シリアルポートツールを使用して通信すると、すべてが機能します。
上記のシリアルポートツールでこのコードを実行すると、すべてが機能します。しかし、ツールを切断するとすぐに接続が失われます。
問題は、シリアル ポート ツールを使用せずにシリアル ポートとの通信を開始するには、どのような魔法を実行する必要があるかということです。それは許可の問題ですか?また、/dev/cu.usbserial と /dev/tty.usbserial の違いは何ですか?
いいえ、シリアル番号はありません。問題は、python スクリプトを sudo で実行しても問題が解決しないことです。言及した gui ツールで接続を開くと、問題が解決する唯一のことです。
linux - /dev/ttyS0 と /dev/ttys0 の違いは?
/dev/ttyS0
Linux では、との違いは何/dev/ttys0
ですか?
最初のものはシリアルポートであることは知っていますが、2番目のものはどうs
ですか?
vb.net - シリアル ポートを使用しているプロセスを特定するにはどうすればよいですか?
私が働いている会社は、シリアル ポートを介してコンピュータと通信するハードウェアを製造しています。サードパーティ企業は、当社のハードウェアと通信するソフトウェアを作成しています。
ハードウェアを診断する必要がある場合があります。ただし、サード パーティのソフトウェア アプリは、Windows の起動時にシリアル ポートに接続し、他の接続をブロックします。このアプリケーション/サービスの名前がわかりません。また、常に同じであるとは限りません。
次のいずれかの方法はありますか?
- 特定のシリアル ポートを現在使用しているアプリ/サービスの名前/pid を検索するか、
- 別のアプリからシリアル ポート接続を盗みます。
vb.net が望ましいですが、言語にとらわれない回答も受け付けます。
compact-framework - シリアル ポート経由でデータを送信する
Compact Framework で SerialPort クラスを使用していますが、2047 バイトを超えるデータを受信できません。受信できるバイト数に制限はありますか? またはどのようにオブジェクトを設定できますか? WriteBufferSize および ReadBufferSize プロパティを試してみましたが、うまくいきませんでした。
linux - Linux 用の仮想シリアル ポート
Linux でシリアル ポート アプリケーションをテストする必要がありますが、テスト マシンにはシリアル ポートが 1 つしかありません。
仮想シリアル ポートを Linux に追加し、シェルまたはスクリプトを介してデバイスをエミュレートしてアプリケーションをテストする方法はありますか?
注: ポートを再マップすることはできません。ttys2 でハードコーディングされているため、記述されているとおりにアプリケーションをテストする必要があります。
linux - シリアル ポート経由で通信する 2 つの Linux (仮想) ボックスを取得します。
受信接続をシリアルポートでリッスンするように1つのLinuxボックスをセットアップする最良の方法は何ですか? 私はたくさんのグーグルをしましたが、実際にそれらを話すためのコマンドの正しい組み合わせを見つけることができません!
私の主な目的は、実行中の kvm/qemu VM のインスタンスにシリアル インターフェイスを提供することです。現在、VNC インターフェイスしかありません (ヘッドレス サーバー上にあり、X はありません)。-serial file: フラグを指定して起動することで VM にシリアル デバイスを作成させることができますが、それと通信する方法はまったく別の問題です。どちらのボックスも Ubuntu 8.04 を実行しています。
.net - Serialport.Read() によって返される値に影響する可能性があるもの
.Net Framework 2.0 Serialport クラスを使用して C# 2.0 で簡単なアプリを作成し、COM1 経由でコントローラー カードと通信しました。
最近、Read メソッドによって返されるバイト数が正しくないという問題が発生しました。正しいバイト数が返されましたが、値だけが正しくありませんでした。ただし、Delphi で作成された同様のアプリでも正しい値が返されました。
Portmonを使用して両方のアプリのシリアル ポートでのアクティビティをログに記録し、2 つのログを比較して、(明らかに) マイナーな設定の違いがいくつかある場所で、Delphi アプリをできるだけ厳密に模倣しようとしましたが、役に立ちませんでした。
では、Read メソッドによって返されるバイト値に何が影響するのでしょうか?
2 つのアプリのほとんどの設定は同じです。
Portmon ログで異なる行のリストを次に示します。
デルフィ アプリ :
IOCTL_SERIAL_SET_CHAR Serial0 SUCCESS EOF:dc ERR:0 BRK:0 EVT:0 XON:11 XOFF:13
IOCTL_SERIAL_SET_HANDFLOW Serial0 SUCCESS Shake:0 Replace:0 XonLimit:256 XoffLimit:256 IOCTL_SERIAL_SET_TIMEOUTS Serial0 SUCCESS RI:-1 RM:100 RC:1000 WM :100 WC:1000 IOCTL_SERIAL_SET_WAIT_MASK Serial0 SUCCESS マスク: RXCHAR RXFLAG TXEMPTY CTS DSR RLSD BRK ERR RING RX80FULL
C# アプリ:
IOCTL_SERIAL_SET_CHAR Serial0 SUCCESS EOF:1a ERR:0 BRK:0 EVT:1a XON:11 XOFF:13 IOCTL_SERIAL_SET_HANDFLOW Serial0 SUCCESS Shake:0 Replace:0 XonLimit:1024 XoffLimit:1024 IOCTL_SERIAL_SET_TIMEOUTS Serial0 SUCCESS RI:-1 RM:-1 RC:1000 WM:0 WC:1000 IOCTL_SERIAL_SET_WAIT_MASK Serial0 SUCCESS マスク: RXCHAR RXFLAG CTS DSR RLSD BRK ERR RING
アップデート:
返された正しいバイトは、91、1、1、3、48、48、50、69、66、51、70、55、52、93 (14 バイト) でした。最後の値は単純なチェックサムです。
返された不正な値: 91、241、254、252、242、146、42、201、51、70、55、52、93 (13 バイト)。
ご覧のとおり、返された最初と最後の 5 バイトは対応しています。
ErrorReceived イベントは、フレーミング エラーが発生したことを示します。これにより、誤った値が説明される可能性があります。しかし問題は、Delphi アプリではフレーミング エラーが発生しないように見えるのに、なぜ SerialPort でフレーミング エラーが発生するのでしょうか?
windows - COM51 のような名前をプログラムで Microsoft Windows の物理シリアル ポートに関連付ける方法は?
COM51 のような名前をプログラムで Microsoft Windows の物理シリアル ポートに関連付ける方法は?
操作を手動で実行するには、
リンク テキストに記載されている手順に従います。
devmgmt.msc でデバイス マネージャーを開きます。
[ポート (COM & LPT)] をダブルクリックします。
目的のポートを右クリックし、[プロパティ] をクリックします。
[ポート設定] タブで、COM ポート番号を変更する場合 (たとえば、COM1 から COM51 に変更)、[詳細設定] ボタンをクリックし、一覧から必要な COM ポート番号を選択します。
しかし、どうすればプログラムで仕事をすることができますか? 仕事をするためのAPIはありますか?ありがとうございました。
serial-port - 堅牢で実装が容易なシリアル バス (車載アプリケーション)
主な選択基準が次の場合、車載組み込みシステムでどのシリアル通信バスを使用しますか?
- 電気的に堅牢
- 低速 (32 kb/s)
- プログラミングが簡単
- マイクロコントローラとのインターフェースが簡単
大量のデータを転送することはありませんが、高速 (100 ~ 500 Hz) で定期的に転送する必要があります。アースラインにノイズがある場合、RS-232 は十分に信頼できないことがわかりました。CAN バスは面白そうですが、私は経験がありません。
現在、AVR AT90CAN128 マイクロコントローラの組み合わせに関心があります。