11

アプリケーション(Windows XP SP3で実行されているC#.NET 4.0)からATコマンドを送信したいD-Link DWM-1563GUSBモデムがあります。

プラグインとドライバのインストール後、モデムは次のように表示されます。

デバイスマネージャでは、2つのシリアルポートが追加されます。

  • D-Link HSPADataCard診断インターフェース(COM4)
  • D-Link HSPADataCard NMEAデバイス(COM5)

[コントロールパネル] 、[電話とモデムのオプション]に、新しいモデムが追加されています。

  • D-Link HSPADataCard独自のUSBモデム(COM19に接続)

質問:ATコマンドを送信するためにどのCOMポートを使用する必要があり、どの速度で使用する必要がありますか?


私は3つのポートすべてを異なる速度で試しましたが、運がまったくありませんでした。

学ぶために、私は「無料シリアルポートモニター」スニファーアプリをインストールし、インターネット接続を開閉するときにD-Link ustilityとの通信を監視できるようにしたいと考えました(これは正常に機能します)。

起動時に、スニファーアプリは監視するポートを尋ね、次のポート名から選択できるようにします。

  • 「AgereSystemsHDAモデム」、
  • 「D-LinkHSPADataCard独自のUSBモデム」、
  • 「COM3」、
  • 「COM4」、
  • 「COM5」
  • ...そして「COM19」を含むいくつか。

「D-Link...」という名前を選択しても問題ありません。これで、使用されているすべてのATコマンドを監視できますが、ポートが使用されているボーレートを特定できません。さらに、COM4、COM5、またはCOM19のいずれも、この方法でスニッフィングするためには機能しません(これらのポートでは何も起こらないようです)。

ここで、.NETのSerialPortクラスを使用して「D-Link ...」ポートを開き、USBモデムと通信したいと思いますが、 SerialPortクラスでは、ポート名が「COM」で始まる必要があります。それ以外の場合は例外です。スローされます。しかし、通常のCOMポートはどれも機能しません。そして、私はまだどのボーレートを使用するべきかわかりません。私はかなり混乱してここに閉じ込められています-これの底に到達するために私は何ができますか?

4

2 に答える 2

7

皆さん、考えと意見をありがとうございます。私はさらに調査を行いましたが、最終的に、自分がやりたいことをするために、シリアルポートやATコマンドをまったく気にする必要がないことに気づきました。必要なのは、いくつかのWindowsRAS呼び出しを行うことだけでした。

ATコマンドで何をしたいのかという質問をもう少し具体的にしておけば、ずっと前にRASについて教えてくれたはずです。

マネージコードから使用するためにネイティブWindowsRASをラップする素敵な.NetDLL(DotRas)を見つけました。これは、必要なことを実行しているようです(コードから3Gモデム接続をダイヤルし、接続する任意のタイプの3Gモデムを使用)。

お時間をいただき、誠にありがとうございます。

于 2012-06-25T19:18:38.397 に答える
0

ターゲットCOMポートGetCommState()を介してハンドルを取得した後、を使用できます。CreateFile()

http://msdn.microsoft.com/en-us/library/aa915369.aspx

于 2012-06-25T06:01:08.273 に答える