求教,STM32用HAL库接收不到ESP8266的返回值,逻辑分析仪可.....

2019-12-27 18:45发布

我发送了 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,跟以前使用的标准库也不一样,但是却能接收,,,, 目前已经崩溃
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
jiespring
1楼-- · 2019-12-28 16:47
是不是问题出在while(        HAL_UART_Receive(&huart3,(uint8_t *)&RXBUFFER,11,0x100)==HAL_OK);这一句


看看微雪的教程:http://www.waveshare.net/study/article-644-1.html
N_EMBED
2楼-- · 2019-12-28 21:58
 精彩回答 2  元偷偷看……
wind2100
3楼-- · 2019-12-28 22:07
jjkk1314T 发表于 2017-6-26 23:39
供电不足 ?

有可能电压不对 所以用逻辑分析仪看是对的,但结果不行.

一周热门 更多>