将数据从STM32F401 MCU发送到ESP8266,并从ESP8266获得对MCU的响应

时间:2016-03-15 13:56:58

标签: stm32 iot esp8266 cortex-m

我正在使用STM32f401 Nucleo板和ESP8266 wifi模块。我正在使用Eclipse gcc-arm工具链和cubeMx来生成代码。我可以使用USART / UART DMA完美地传输和接收数据。

现在我被ESP8266困住了。我无法将数据从MCU发送到ESP,而且我没有得到ESP对MCU的响应。我已经测试了ESP模块的通信,我可以通过USB连接到带有AT命令的wifi,也可以通过socket连接在web上接收数据。

我将USART1_TX / USART1_RX配置为PA9 / PA10

提前致谢。

2 个答案:

答案 0 :(得分:0)

我不是专家,但我会尽力帮助你。

您使用的是哪种波特率?它与ESP8266文档一致吗?

检查电源和连接。

因此,请记住AT命令区分大小写(它们必须只用大写字母书写)并且必须以回车符和换行符结束,所以" / r / n"。

答案 1 :(得分:0)

首先检查波特率是否匹配

那么你是否将dma用于tx / rx方向? 对于dma rx,请注意只有在填充完整缓冲区时才会调用“完成”回调。 如果您在结束“\ n”“\ n”时需要“中断”接收,那么您可以一次使用中断rx方法,并在它到达回调时检查它,继续询问一个字节,直到没有完成。 或者使用dma继续轮询dma计数并分析当前rx缓冲区的某些\ r \ n。完成后中止/停止dma。