Aktualisierung OLED durch Drehgeber

Doc_Arduino:
Hallo,

wo kommt DIR_CW her?

...

wo kommt DIR_CW her? --> Das ist eine Konstante der genutzten Bibliothek, die dem Drehgeberwert entspricht, wenn dieser im Uhrzeigersinn gedreht wird.

Was ich noch nicht überblicke ist, was du mit menuEntry = encoderValue vorhast? --> Das rufe ich doch eigentlich nirgends auf. EncoderValue ist der Drehgeberwert, der an die Methode übergeben und ausgewertet wird. Entsprechend wird der menuEntry um eins hoch bzw. runtergezählt. menuEntry ist nur ein Zähler im Bereich [0..3], der den selektieren Menüeintrag wieder gibt.

Die Auswertung des Drehgeberwertes funktioniert eigentlich auch. Wie gesagt das im ersten Post angegebene lange Beispiel ist fehlerfrei ausführbar. Ich habe nur das Problem, dass folgendes funktioniert:

void loop() 
{
  uint8_t x = R.read();
  if(x != 0){
   Serial.println(x);
   processEncoder(x);
   renderDisplay(menuEntry);
  }

}

Das hier aber nicht -> renderDisplay(menuEntry) wird ausgeführt, aber die ganze Drehgeberauswertung nicht mehr:

void loop() 
{
  uint8_t x = R.read();
  if(x != 0){
   Serial.println(x);
   processEncoder(x);
  }

   renderDisplay(menuEntry);
}

Wird bei der zweiten Variante renderDisplay(menuEntry) einfach zu oft aufgerufen, sodass der Drehgeberwert nicht mehr ordentlich ausgewertet werden kann?