我发送了 AT 指令,用逻辑分析仪可以看到 ESP8266 已经返回了 这个数据,但是 STM32 用的HAL库,死活就是接收不到返回的数据,但是 如果不用 ESP8266 用USB转TTL,模拟自己是ESP8266 却可以正确接收到,
已经被HAL库折磨了好几天,
不知道问题在哪儿,特地来问问,
QQ图片20170626191222.png (30.68 KB, 下载次数: 0)
下载附件
2017-6-26 19:12 上传
程序写成如果接收到,通过串口1打印出来接收到的字符串....
ESP8266_Choose ( ENABLE );
MX_USART3_UART_Init();//for ESP8266
ESP8266_RST_HIGH_LEVEL();
HAL_Delay ( 100 );
ESP8266_RST_LOW_LEVEL();
HAL_Delay ( 100 );
ESP8266_RST_HIGH_LEVEL();
//while(1);
HAL_Delay ( 1000 );
ESP8266_Usart ( "%s
", "AT" );
while(1)
{
while( HAL_UART_Receive(&huart3,(uint8_t *)&RXBUFFER,11,0x100)==HAL_OK);
HAL_UART_Transmit(&huart1,(uint8_t *)&RXBUFFER,11,0xFF);
ESP8266_Usart ( "%s
", cmd );
}
初始化串口的时候 有个 什么CUBE那个软件,选择的。。。。
__HAL_RCC_USART3_CLK_ENABLE();
/**USART3 GPIO Configuration
PC4 ------> USART3_TX
PC5 ------> USART3_RX
*/
GPIO_InitStruct.Pin = GPIO_PIN_4 |GPIO_PIN_5;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF1_USART3;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
默认串口初始化这样的GPIO,跟以前使用的标准库也不一样,但是却能接收,,,, 目前已经崩溃
看看微雪的教程:http://www.waveshare.net/study/article-644-1.html
有可能电压不对 所以用逻辑分析仪看是对的,但结果不行.
一周热门 更多>