首页 > 解决方案 > 带有调制解调器 esp8266 中断处理程序的 stm32f 以获得调制解调器应答的结束

问题描述

我使用带有 esp8266 调制解调器的 stm32f,我使用带有 tera 术语的 usart 与调制解调器通信。当我发送 AT 时,我得到了预期的“OK”。

当我发送 AT+CIFSR 时,它只返回 1 行答案,而我预计会收到大约 5 行信息。

我怎么知道从 esp 调制解调器接收到什么时候结束?目前我试图通过 '\n' 来捕捉句子的结尾,但这导致我得到 1 行答案。

我的中断看起来像:

numOfRows = TERMINAL_getNumOfRows();  // somehow it gives me 0 as answer when I actually return the number before I send data
                rx_byte = USART3->RDR;

               if (rx_byte == '\n')
                {
                   if (rows==numOfRows)
                   {
                        *(++P_Loc_In_Rx_Buffer3) = '\0';
                        P_Loc_In_Rx_Buffer3 = A_Rx_Buffer3; //where all the data received
                        Command_Received = TRUE; // start to print on usart (terminal)
                        numOfRows=1; // I try to make default to 1 line
                        return;
                   }
                  else
                  {
                      rows++;
                  }
                }

标签: embeddedstm32

解决方案


推荐阅读