3

USB経由で接続されたローカルモデムを使用してリモートモデムを呼び出そうとしています。プログラミング言語はVB.NETでSerialPort、モデムと通信するためにコントロールを使用しています。

コミュニケーションは次のとおりです。

私は送る: ATZ0[CR]

モデムの応答:ATZ0[CR][CR][LF]OK[CR][LF]

次に、番号をダイヤルしようとします。

送信します: 有効な番号はATDTnnnnnnnnnn[CR]どこですかnnnnnnnnnn

モデムは次のように応答します。ATDTnnnnnnnnnn[CR][CR][LF]ERROR[CR][LF]

他のすべてのコマンドは問題なく機能しているようです

詳細については、モデムはMultiTechMT5634ZBA-USB-V92です。

ハイパーターミナルを使用して同じコマンドを入力すると、期待どおりに機能し、番号をダイヤルするので、コードで実行している必要があります。SerialPortコントロールで設定することもできます。

編集

AT&D0私はこれについて、モデムに発行するという自分の答えを投稿しました。上記のコマンドは現在機能しています。

4

5 に答える 5

2

12年ほどATコマンドを発行していませんでしたが、ブランドごとにATコマンドがすべて異なっていたため、モデム固有のマニュアルを読む必要があったことを覚えています。

多くの場合、ダイヤルアウトする必要がある場合は、外線用に「1」をダイヤルし、残りの番号をダイヤルする前に一時停止する必要がありました. ダイヤル スクリプトでは、コマンドを発行する間に、わずかな待ち時間が必要になることがよくあります。記憶によると、これらは「W1」、「W2」などでした。

したがって、外線 ("1") にダイヤルしてから電話番号 ("123456") をダイヤルするには、次のように入力します。

ATDT1W3123456[CR][LF]

私がこれをしてから長い時間が経ちました:)

また、メモリから、AT&D0 は「モデムの状態をリセットする」ようなものだったので、常にそのコマンドでスクリプトを開始しました。

于 2012-02-22T10:49:39.200 に答える
2

何時間もの実験の結果、AT&D0以前に (Ignore DTR Signal) コマンドを発行するATDTと、モデムが応答しなくなり、必要に応じERRORてリモート モデムにダイヤルするという効果があることがわかりました。

ハイパーターミナルにコマンドを入力しても、発行しなくても機能する理由については、まだ少し混乱していますAT&D0。ハイパーターミナルがコマンドをサイレントに発行しているかどうかは誰にもわかりませんか?

于 2012-02-20T16:22:10.797 に答える
0

[CR]ではなく[LF]だけで「ATDT」を終了してみましたか?

于 2012-02-22T23:12:25.893 に答える
0

問題をよりよく理解するためにコードを確認したいのですが、最初に送信してみてください

ATDTnnnnnnnnnn[CR][LF]
于 2012-02-18T10:28:02.097 に答える
0

ATZ0使用する保存済みの構成を返します。何か問題を起こす原因があるのか​​もしれません。次のコマンドで印刷できます。

AT&V[CR]

出荷時設定にリセットするコマンドを試してください:

AT&F[CR]

その後:

ATDTnnnnn[CR]
于 2012-02-23T14:46:25.983 に答える