尝试配置 U​​SB 调制解调器时对 ATZ 出现意外响应?

尝试配置 U​​SB 调制解调器时对 ATZ 出现意外响应?

我正在尝试使用 Conexant USB 调制解调器C 程序。调制解调器位于/dev/ttyACM0

在源代码中,我发送AT,然后ATZ重置调制解调器。我收到响应:

$ sudo ./modem.exe
Send 2: AT
Read 8: 0x41 0x8 0x20 0x8 0x54 0x8 0x20 0x8
Send 3: ATZ
Read 12: 0x41 0x8 0x20 0x8 0x54 0x8 0x20 0x8  0x5a 0x8 0x20 0x8

我对响应代码感到困惑。此外,代码似乎没有记录在Hayes 命令集或者在我拥有的一本旧的美国机器人手册中。

响应代码的含义是什么?

答案1

读取 8:0x41 0x8 0x20 0x8 0x54 0x8 0x20 0x8

解码:A [退格键] [空格] [退格键] T [退格键] [空格] [退格键]

读取 12:0x41 0x8 0x20 0x8 0x54 0x8 0x20 0x8 0x5a 0x8 0x20 0x8

解码:A [退格] [空格] [退格] T [退格] [空格] [退格] Z [退格] [空格] [退格]

看起来调制解调器正在回显您发送的内容,但是这会导致终端仿真器从屏幕上删除回显的字符。

问题中的程序响应表明您的程序正在发送 AT,然后发送 ATZ。但 pastebin 中的源代码会发送 AT,然后发送 E0,然后发送 ATZ。因此,您运行的程序似乎与您向我们展示的源代码不匹配。

还要注意,您发送的每个命令末尾都应该有一个回车符(“\r”或 ASCII 0x0d),否则命令将不完整,并且调制解调器将不会对其做出反应。

仅发送“E0”并不是有效命令:要禁用命令回显,您至少需要发送“ATE0\r”。

相关内容