0

我正在尝试通过串行使 Windows 可执行文件与 Quectel 模块通信。

该工具在第一步总是失败,即使用 AT 命令 (AT+CGMR\r) 读取模块的固件版本。

我测试了向模块发送相同的命令,使用 Putty 并输入命令,它就像一个魅力。

但是,当我在记事本中键入命令时(包括末尾的回车),然后复制文本并将其粘贴到 putty 中(我的想法是通过更快地发送命令来更接近 .exe 的行为), 2奇怪的事情发生:

1 - 在 putty 中按 Ctrl-M 发送第二个回车之前,我没有收到模块的响应。我确信该字符已从记事本复制到剪贴板... 2 - 模块未收到“AT+CGMR”而是“AT+CGMM”(这也是一个有效命令)。我测试了其他变体并得出结论,最后一个文本字符总是被倒数第二个文本字符替换。所以 AT+CDFR 给出了 AT+CDFF。AT+PILJ 给出 AT+PILL 等...我确定这是模块接收到的,因为回显模式已打开,因此模块在回答所述命令之前打印出它收到的命令。

总结一下:

通过在键盘上直接输入腻子,我得到:

AT+CGMR
SSB,V150R100C10B200SP1

SECURITY_A,V150R100C20B300SP5

PROTOCOL_A,V150R100C20B300SP5

APPLICATION_A,V150R100C20B300SP5

SECURITY_B,V150R100C20B300SP5

RADIO,Hi2115_RF0

OK

这是预期的输出。但是通过从记事本复制和粘贴完全相同的文本,我得到:

AT+CGMM
BC95GJB-02-STD

OK

而且,只有在我按下 Ctrl-M 之后。在此之前根本没有答案,所以好像模块从未收到回车。

我无法弄清楚这里发生了什么......任何帮助表示赞赏。

4

1 回答 1

1

我在 Quectel 4G 模块上做了很多工作。也许做一个简单的数据跟踪器。

下载哑终端 Termite,这样您就可以看到单个十六进制字符,包括不可打印的字符。连接白蚁以读取库存的 USB 到串行适配器。确保适配器设置为 3.3V 而不是 5V。Quectels 是 1.8V 域,但可以抓取并驱动 3.3V 逻辑。我假设你用 1.8V 驱动你的移远通信。

硬件明智地将 Quectel 模块的 Rx 引脚连接到 USB 模块 Rx 引脚,然后您可以准确地看到从记事本和 Putty 进入 Quectel 的字符。(有时您可能需要一个 1K 与 USB Rx 引脚串联以减少负载)。宾果游戏,您可以准确地看到移远获得的角色。我发现了很多这样做的错误。

于 2021-08-29T21:51:51.520 回答