STM32 Nextion Daten empfangen

Gast #6519042
Lesenswert?

Hallo zusammen,

ich nutze einen Black Pill (STM32F411) mit einem 3,5" Nextion Display. 
Das senden funktioniert einwandfrei. Nun tue ich mich schwer, Daten vom 
Nextion zu empfangen. Bis jetzt habe ich das empfangen von Zeichen im 
Interrupt mit HTerm getestet. Nur habe ich gerade ein Brett vorm Kopf, 
wie ich relativ effizient auf auf die drei 0xFF abfragen kann, die das 
Nextion am Ende des Strings sendet.

Und ich nutze kein Arduino, sondern STM32CubeIDE mit HAL.

Gruß Achim
Gast #6519136
Lesenswert?

Hallo,

ich hab es jetzt so gemacht:
1
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
2
{
3
  HAL_UART_Receive_IT(&huart1,  &Rxbuf, 1);
4
  if(!String_Complete)              // 1= String noch in Bearbeitung
5
    {          
6
    if(Rxbuf!=0xFF)                // Ende-Kennung?
7
      {
8
      RXBuffer[RXBuffer_Count]=Rxbuf;      // Zeichen in Buffer schieben
9
      RXBuffer_Count++;            // Zähler erhöhen
10
      }
11
    else
12
      {
13
      if(FF_Count==1)              // 1= schon zwei End-Kennungen erkannt
14
        {
15
        String_Complete=1;          // String fertig
16
        RXBuffer_Count=0;          // Index auf Null
17
        }
18
      else
19
        {
20
        FF_Count++;              // End-Kennungszähler erhöhen
21
        }
22
      }
23
    }
24

25
}

Im Debugger habe ich es mit HTerm getestet. Sieht erstmal gut aus. Hab 
ich da grobe Schnitzer drin?

Gruß Achim

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren