Forum: Mikrocontroller und Digitale Elektronik ESP8266 - UART Recive Methode


von Rene K. (xdraconix)


Lesenswert?

Ich habe da ein "dummes" Problem. Ich bekomme meine Daten über ein UART 
Interrupt auf meinen STM32F1. Das funktioniert auch. Ich schließe die 
Übertragung des Strings durch "\r" ab. Sprich: Wenn mir der ESP ein 
Paket schickt dann schließt er es immer mit "\r\n" ab.

Nun hab ich jedoch das Problem, das ich bei Mehrzeiligen Texten eben 
dieses direkt nach der ersten Zeile bekomme  z.b. bei AT+CWLAP 
(Auflisten der AP). Da bekomme ich dann natürlich nur die letzte Zeile.

Jemand ein Tipp wie ich das umgehen kann?
1
void USART3_IRQHandler(void)
2
{
3
    if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESET)
4
    {
5
      bufferRx[RxCounter++] = USART_ReceiveData(USART3);
6
7
                  // Check for Carrier Return
8
      if(bufferRx[RxCounter - 1] == '\r')
9
      {
10
        strcpy(receiveRx, bufferRx);
11
        RxCounter=0;
12
        printRx=1;
13
      }
14
     }
15
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.