我的 ESP 模块有一个奇怪的问题。在为我的模块编写了一些代码并通过串口上传后,模块在恰好 224 字节后突然停止
通信。我以前也遇到过类似的怪事,有时 erase_flash 会有所帮助。不过这次不是。
我开始了一个新的 Android 项目,并逐个复制我的程序,每次我添加原始代码的另一个功能时都会刷新它。最终代码是相同的,串行通信再次工作。
我在我的代码中又编辑了几段,然后通信就停止了。我注意到的是:当 ESP12e 模块的串行端口处于活动状态时,即使未插入 USB 端口,我的 FTDI 连接器的 LED 也会轻微亮起。当模块行为异常时,LED 熄灭,就好像整个端口都死了一样。
我用过
代码:
全选dd if=/dev/ttyUSB0 bs=1 | hexdump -C
看看发生了什么:
代码:
全选00000000 72 10 02 00 6c 9c 98 72 9f 00 8c 63 02 e2 6e 80 |r...l..r...c..n.|
00000010 04 18 e0 0c 10 8c 0c 1c 82 ec 1c 70 8c 7c 8e 82 |...........p.|..|
00000020 df 00 ec 78 02 92 9f c7 92 9c e4 8c 1c 70 0c 18 |...x.........p..|
00000030 0c f2 6e 6e e4 02 84 3b f2 6e c4 92 9c e4 0c 1b |..nn...;.n......|
00000040 8e 0c 62 e7 24 09 72 18 02 72 18 02 70 f2 6e e0 |..b.$.r..r..p.n.|
00000050 c3 dc 00 0c 1c e0 82 87 c0 6c 1c 80 8c 9c c0 0c |.........l......|
00000060 1c 80 0c 62 80 04 6e e2 e3 6e 80 e4 1c 92 0c 1f |...b..n..n......|
00000070 90 0c 62 80 c4 3c 7e f2 6e ee 03 c4 c3 8c 8e 00 |..b..<~.n.......|
00000080 6c 60 13 fc 90 12 9c 23 82 6e 80 04 1c 72 18 02 |l`.....#.n...r..|
00000090 0e 02 6e 72 8e 92 9f 3b 02 84 c0 0c 7f 0c 02 87 |..nr...;........|
000000a0 3b 18 02 0e 72 9f db 92 6e 80 04 1e e0 62 9c c0 |;...r...n....b..|
000000b0 6c 60 1b c4 9e 84 0c 1f 90 ec 1c 02 92 87 03 72 |l`.............r|
000000c0 9c 3b 18 02 fc 82 6e 84 62 e0 43 6f 6e 6e 65 63 |.;....n.b.Connec|
000000d0 74 69 6e 67 20 74 6f 20 57 69 66 69 0d 0a 57 69 |
ting to Wifi..Wi|
此外,我的代码仍在后台运行。它连接到 Wifi,然后注册到 MQTT。我可以通过 MQTT 发送命令,它会执行我编程的任何操作。只是没有串行输出了。
如果需要,我可以发布代码;但我怀疑这是一个代码问题,更像是 IDE 的问题。
出于这个原因,我尝试使用 PlatfromIO 但最终以同样奇怪的行为结束。在这里我试着跑步
代码:
全选pio run -t clean
以确保删除任何可能处于不良状态的旧对象。
有没有其他人经历过这个?并找到了解决方案??
用 Lua 刷新 NodeMCU 我对串行通信没有任何问题。只有在我更改代码以进行一定数量(未知)的更改之后。