串口调试经验杂谈

Ai-WB2-01s 串口调试踩坑记录

最近在调试 Ai-WB2-01s 模块 时,遇到一个小坑,折腾了很久才发现问题的根源。这里记录下来,希望能帮到遇到类似问题的朋友。

image-20250816210531377


问题现象

我在串口调试软件中输入 AT+RST 并发送,但模块没有任何响应。起初我以为是:

  • 电路焊接有问题
  • 电源或电压不稳
  • 串口参数配置错误

但是经过逐项排查,这些都被排除了。


排查过程

  1. 怀疑硬件问题
    • 用万用表确认了模块供电正常,串口线也接对了。
  2. 怀疑波特率/串口配置
    • 设置了常见的 115200 8N1,尝试多个波特率,仍然无效。
  3. 更换串口调试软件
    • 偶然换了一款调试工具,发送相同的 AT+RST 命令时,模块居然有了反应!
    • 对比后发现,新的软件在发送时会自动附加 \r\n (回车+换行)
  4. 验证猜想
    • 回到最初的软件,在 AT+RST 后手动敲一下回车(也就是加上换行),再发送过去,果然就能正常工作。

解决方案

问题的根源是:AT 指令通常要求以 \r\n 结尾,否则模块不会解析。

因此解决方法有三种:

  1. 使用支持自动添加 \r\n 的串口调试软件;
  2. 在命令后手动输入 换行 再发送;
  3. 在发送设置里配置“追加回车换行”。

总结经验

  • 遇到问题时,不要死盯着硬件,多尝试几款调试软件对比。

  • 大多数 AT 指令格式为:

    AT+指令\r\n
    
  • 如果没有响应,优先检查是否正确加上了 回车和换行


✍️ 小结:这次算是被「换行」坑了一下,提醒自己以后遇到问题要多角度思考,不要一开始就钻进硬件的死胡同里。

研究其真正的原因

直接写 \r\n 没效果,因为软件没转义。

软件“附加 \r\n”功能是自动加真实回车换行。

手动回车相当于真的输入换行字符,也能生效。

在后面的测试也确实发现这个软件的转义错误,没有把\r\n正确转义为回车 (0x0D)换行 (0x0A)

image-20250816211411791

posted @ 2025-08-16 21:17  海浪博客  阅读(23)  评论(0)    收藏  举报