我正在开发STM32f401 Nucleo板和ESP8266 wifi模块。我正在使用Eclipse的gcc-arm工具链和cubeMx来生成代码。我可以通过USART/UART DMA完美地传输和接收数据。
现在我被ESP8266卡住了。我无法将数据从MCU发送到ESP,并且ESP没有响应到MCU。我已经测试了ESP模块的通信,我可以通过USB用AT命令连接到wifi,也可以通过socket连接在web上接收数据。
我使用PA9/PA10配置了USART1_TX/USART1_RX
提前谢谢。
发布于 2016-03-17 18:40:44
我不是专家,但我想帮你。
你用的是什么波特率?它与ESP8266文档是否一致?
检查电源和连接。
因此,请记住,AT命令区分大小写(它们必须只用大写字母书写),并且它们必须以回车符和换行符结束,因此"/r/n“。
发布于 2016-03-18 05:29:32
在第一次检查时,波特率是匹配的
那么你在tx/rx两个方向都使用dma了吗?对于dma rx,请注意,只有当充满整个缓冲区时,才会调用“完成”回调。如果你需要在结束"\n“"\n”时“中断”接收,那么你可以一次使用中断接收方法oen hatr,并在它到达回调时检查它,该回调会继续询问一个字节,直到没有完成为止。或者,使用dma继续轮询dma计数并分析一些\r \n当前rx缓冲区。完成后中止/停止dma。
https://stackoverflow.com/questions/36013360
复制相似问题