我正在尝试使用通过 USB 连接的本地调制解调器调用远程调制解调器。编程语言是 VB.NET,我使用 SerialPort
控件与调制解调器通话。
通讯方式如下:
我发送:ATZ0[CR]
调制解调器响应:ATZ0[CR][CR][LF]OK[CR][LF]
然后我尝试拨打一个号码:
我发送: ATDTnnnnnnnnnn[CR]
其中 nnnnnnnnnn
是有效数字
调制解调器响应:ATDTnnnnnnnnnn[CR][CR][LF]ERROR[CR][LF]
所有其他命令似乎都没有任何问题
有关信息,调制解调器是 MultiTech MT5634ZBA-USB-V92
如果我使用 super 终端并在其中键入相同的命令,它会按预期工作并拨打号码,所以这一定是我在我的代码中所做的事情,可能在 SerialPort
控件中进行了一些设置
编辑
我已经发布了我自己的答案,即向调制解调器发出 AT&D0
。上面的命令现在正在运行。
最佳答案
我已经有大约 12 年没有发出 AT 命令了,但我记得你需要阅读调制解调器特定的手册,因为每个品牌的所有 AT 命令都不同。
通常,如果您必须拨出,则必须为外线拨“1”,然后在拨出其余号码之前暂停。通常,您必须在发出命令之间的拨号脚本中稍作等待。根据内存,这些是“W1”、“W2”等。
因此,要拨打外线(“1”),然后拨打电话号码(“123456”),您需要输入如下内容:
ATDT1W3123456[CR][LF]
我已经很久没有这样做了:)
此外,根据内存,AT&D0 类似于“重置调制解调器状态”,因此我们总是使用该命令启动我们的脚本。
关于.net - 调制解调器发出 ATDTnnnnnnn 后给出错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7740103/