STM32 Nextion Daten empfangen

Gast #6519042
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
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
Gast #6519202
Einen kleinen Nachtrag habe ich aber dennoch. Wenn ich alles ausschalte 
und dann wieder einschalte, regiert der STM32 nicht auf die Daten vom 
Nextion. Erst wenn ich noch eine Reset am STM32 ausführe, geht es wieder 
normal?!

Gruß Achim

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 5 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.