我有一台D-Link DWM-156 3G USB调制解调器,我想从我的应用程序(在运行Windows XP SP3上的C# .NET 4.0)向其发送AT命令。
插上设备并安装驱动程序后,调制解调器会显示如下内容:
在设备管理器中,添加了两个串行端口:
- D-Link HSPADataCard诊断接口(COM4)
- D-Link HSPADataCard NMEA设备(COM5)
在控制面板、电话和调制解调器选项中,添加了一个新的调制解调器:
- D-Link HSPADataCard专用USB调制解调器(连接到COM19)
问题:我应该使用哪个COM端口发送AT命令,以及速率应该是多少?
我已经尝试过不同速度下的所有三个端口,但完全没有成功。
为了学习,我安装了“Free Serial Port Monitor”嗅探器应用程序,希望能够在D-Link实用程序打开和关闭Internet连接时监视通信(这样可以正常工作)。
启动时,嗅探器应用程序会询问我要监视哪个端口,并提供以下端口名称供选择:
- “Agere Systems HDA Modem”,
- “D-Link HSPADataCard专用USB调制解调器”,
- “COM3”,
- “COM4”,
- “COM5”
- ...还有几个,包括“COM19”。
选择“D-Link…”名称可以正常工作,现在我可以观察到所有正在使用的AT命令,但我无法确定端口所使用的波特率。此外,COM4、COM5或COM19都无法通过此方式进行嗅探(这些端口似乎没有任何反应)。
现在我想使用 .NET 中的 SerialPort 类打开 "D-Link..." 端口并与 USB 调制解调器通信,但是 SerialPort 类要求端口名称以 "COM" 开头,否则将抛出异常。但普通的 COM 端口均不起作用。我仍然不知道应该使用哪个波特率。我非常困惑和束手无策 - 我该怎么办才能弄清楚这个问题呢?