C# 如何与USB 3G调制解调器通信?
我有一个D-Link DWM-156 3G USB调制解调器,我想从我的应用程序(运行在Windows XP SP3上的C#NET 4.0)向其发送AT命令 插入并安装驱动程序后,调制解调器显示如下: 在设备管理器中,添加了两个串行端口:C# 如何与USB 3G调制解调器通信?,c#,windows,usb,serial-port,modem,C#,Windows,Usb,Serial Port,Modem,我有一个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调制解调器(附于
- D-Link HSPADataCard诊断接口(COM4)
- D-Link HSPADataCard NMEA设备(COM5)
- D-Link HSPADataCard专有USB调制解调器(附于COM19)
问题:我应该使用哪个com端口发送AT命令,速度是多少?
我以不同的速度尝试了所有三个端口,但没有任何运气 为了学习,我随后安装了“免费串行端口监视器”嗅探器应用程序,希望能够在D-Link打开和关闭互联网连接(正常工作)时监视与它的通信 启动时,嗅探器应用程序询问要监视的端口,并提供以下端口名称供我选择:
- “AGER系统HDA调制解调器”
- “D-Link HSPADataCard专用USB调制解调器”
- “COM3”
- “COM4”
- “COM5”
- …还有更多,包括“COM19”
现在我想使用.NET中的SerialPort类打开“D-Link…”端口并与USB调制解调器通信,但SerialPort类要求端口名以“COM”开头,否则会引发异常。但是普通的COM端口都不能工作。我仍然不知道使用哪种波特率。我非常困惑并被锁在这里-我能做些什么来弄清这一点呢?在通过
CreateFile()
和目标COM端口获得句柄后,您可以使用GetCommState()
:
好的,各位,谢谢你们的想法和意见。我做了更多的研究,最后我意识到,为了做我想做的事情,我根本不需要担心串口和命令。所需要的只是执行几个Windows RAS调用 如果我的问题更具体一点,我想用AT命令做什么,你肯定早就告诉我RAS了 我发现了一个很好的.Net DLL(),它包装了本机Windows RAS以便从托管代码中使用,它似乎正是我所需要的(从代码中拨一个3G调制解调器连接,使用我连接的任何类型的3G调制解调器)
再次感谢您抽出时间。Agere Systems HDA调制解调器为COM1,而D-Link HSPADataCard专有USB调制解调器可能为COM2。您可以随时联系D-Link询问这些问题,因为除非我们自己拥有设备,否则我们不可能给您提供准确的解决方案。+1:我还需要对中兴MF190进行类似的操作。您可以发布一个使用DotRas发送AT命令的示例代码吗?DotRas不公开串行层,回答42。使用.NET SerialPort类就足够了。对于USB蜂窝调制解调器来说,9600 bps似乎是一种常见的“假”速度。