在使用 ESP8266+STM32 开发时,按照以下顺序执行 AT 指令,使得 ESP8266 通过 TCP 连接到服务器端口,使用透传模式发送消息。
AT+CWJAP=<"ssid">,<"password">
AT+CIPSTART=<"TCP">,<"IP">,<port>
AT+CIPMODE=1 // 使用透传模式
AT+CIPSEND
在直接将 ESP8266 使用 串口 转 USB 连接到电脑上,所有通信都可以正常进行,并且可以正常传输数据。
但是将 ESP8266 通过串口与 STM32 相连接时,出现无法传输数据的情况,调试发现按顺序执行前三条语句时都能够获得正确响应,但在执行 AT+CIPSEND 时返回了 ERROR。
怀疑可能是TCP连接未建立,但是发现在服务端可以看到TCP已经建立。
目前尚未发现导致该问题的原因。文章来源:https://www.toymoban.com/news/detail-816060.html
解决方法:不使用透传模式,改为普通传输模式,即将 AT+CIPMODE=1 改为 AT+CIPMODE=0,并且使用 AT+CIPSEND=<length> 来传输数据。在这种方式下可以正常工作。文章来源地址https://www.toymoban.com/news/detail-816060.html
到了这里,关于ESP8266+STM32 透传模式 AT+CIPSEND 返回 ERROR的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!