我正在尝试使用通过 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/

10-13 04:29