web-dev-qa-db-ja.com

Windowsで動作しないCOMポートXP

Windows XPボックスでGSMモデムを構成しようとしています。COMポートを介して通信します。デバイスは、コンピューターに接続されているかどうかに関係なく、ステータスに変化はありません(ただし、 COMポートを介して通信を試みても、接続されているかどうかに関係なく、まったく同じ結果が得られます。

別のマシンでRS232ポート、USB-RS232アダプター、およびRS232ポートを試しました。それらはすべて同じ結果になります。

COMポートは、デバイスマネージャに目に見える問題なしで存在します(接続されたデバイスは起動しませんが、それらが必要かどうかはわかりません)。 PowerShellを介して通信しようとすると、各ポートを開いたり書き込んだりしようとしてエラーはスローされず、readexistingを使用しても何も返されず、readlineはpowershellをハングしているように見えます(ctrl + cでもプロンプトに返されません)。 PuTTY経由で接続しようとすると、PuTTYがハングしているように見えます(おそらく、readlineを実行することから始まります。

ハイパーターミナル経由で接続し、「ローカルで入力された文字をエコー」を設定すると、入力された文字ごとに1文字しか表示されませんが、 http://www.ni.com/support/serial/verhyper.htm は2文字を表示する必要があると主張しています。私が試した2番目のマシンはserver2003マシンであったため、ハイパーターミナルテストを実行できませんでした。

仕事中にループバックRS232ケーブルを作成するためのリソースがありませんが、家に帰ったときに3台目のマシンでそれを試すことができます。

私は何が間違っているのですか?

2
Evan Williams

9600-8N1

COMポートを使用する場合、PCアプリケーションで、ポートに接続されているデバイスが期待する速度、データビット、パリティ、およびストップビットを設定する必要があります。

ペーパークリップ。

シリアルポートをテストする1つの方法は、ポートおよび周辺機器の電子反応通信リンクインターフェイスプローブを使用することです。これは、ペーパークリップとも呼ばれ、メスのシリアルポートコネクタの位置2および3に挿入できるように曲げます。これにより、ループバックが提供されます。 comポートに送信された文字をエコーバックする必要のある回路(DSR、RTSなどの他のデータラインに煩わされていないシリアルドライバに依存しています)。あなたはおそらくまだRS232テストウィジェットを手に入れることができます。

ヘイズ「AT」

シリアルモデムをテストする古典的な方法は、次のようなHayesコマンドを発行することです。

  • ATE1
  • ATI0
  • AT

Enterキーを押して、各コマンドの後にCR文字を送信すると、モデムは「OK」またはいくつかの情報で応答するはずです。

レガシーサポート

私の知る限り、すべてのGSMモデムがHayes互換のインターフェイスを提供しているわけではありません。純粋なUSB接続を介して作成された仮想COMポートを介しても、そうするものもあります。

2
RedGrittyBrick