OLED SSD1306 hängt nach Contraständerung sporadisch

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • OLED SSD1306 hängt nach Contraständerung sporadisch

      Eine Frage direkt an Hkipnik (hatte ich auch schon mal früher, kam aber nicht so recht weiter):

      Wenn ich beim OLED mit dem SSD1306 ím code den Kontast ändere (herunter drehe) , danach das Display neu initialisiere, hängt sich der Kontroller nach Minuten sporadisch auf.
      Kann es sein, dass man nicht beliebige Werte im Contrast eingeben darf?
      Oder mache ich was falsch, indem ich die ganze "lcd_ini-Proc" neu durchlaufe?
      Es passiert eigentlich nur, wenn ich den Kontrast auf 1 setze.

      Der mögliche Wertebereich liegt irgenwo zwischen 30 und 85.
      Unterhalb 30 (oder so) passiert nichts mehr in Sachen dunkler, oberhalb 85 wird es nicht mehr wirklich heller.

      Was mache ich falsch?

      Gruss
      Peer
    • Da scheinbar keiner das dingen hat oder eine Lösung weiß vielleicht ein paar Lösungsversuche: Ist ein init nötig? viele benötigen danach eine gewisse zeit um wieder richtig wach zu werden - vielleicht ein wait einbringen.
      Hängt er sich auch auf bei kontrast=30? wenn nicht die Werte nach unten/oben im funktionierenden Bereich begrenzen.
      Möglicherweise bekommt er nach Minuten einen anderen Befehl der in abschmieren läßt - ein undefiniertes Zeichen oder unmögliche Zeilenadresse?
    • Guten Morgen,

      ich brauche nur zwei level: hell und dunkel.
      Also Maximal hell und recht dunkel damit ich das Display nachts abdunkeln kann per Zeitautomatik, so dass es nicht stört in der Nacht im Schlafzimmer.
      Wen ich das Display komplett durch die ini schicke, hängt sich der Controller oder das Oled auf und der (externe) wdc resettet.
      Das passiert auch, wenn ich nur die 2 Befehle für den Contrast sende, aber das geht so bestimmt ohnehin nicht...

      Gruss
      Peer

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Peer Gehrmann ()

    • Hallo Peer,

      Eine Möglichkeit ist das Display in den Sleep Mode zu schicken, Display geht komplett aus der Inhalt bleibt aber erhalten.

      BASCOM-Quellcode

      1. 'Display Sleep Mode einschalten
      2. Call Lcd_comm_out(&Hae)
      3. 'Display Sleep Mode ausschalten
      4. Call Lcd_comm_out(&Haf)



      Oder du schaltest den Charge-Bump aus, damit wird das Display auch bei großen Kontrast Werten extrem dunkel.

      BASCOM-Quellcode

      1. 'Display wird recht Dunkel
      2. Call Lcd_comm_out(&H8d) 'CHARGEPUMP
      3. Call Lcd_comm_out(&H10) 'vccstate 10 Charge Bump aus
      4. 'Display ist wieder normal hell
      5. Call Lcd_comm_out(&H8d) 'CHARGEPUMP
      6. Call Lcd_comm_out(&H14) 'vccstate 14 Charge Bump ein

      Das sollte alles auch während des normalen Betrieb möglich sein ohne ein INIT auszuführen.

      Gruß
      Hkipnik
    • Hi Hkipnik,

      das mit der Chargepump geht leider nicht, es wird zwar dunkel (man kann es also ausschalten), aber nicht wieder einschalten...
      Gibts da noch irgendeinen Trick?

      Edit: Merke gerade, dass das Display jetzt gar nicht mehr in den "Hell-Modus" schaltet, auch nach erneutem Brennen mit löschen des Chargepump-Codes nicht...hm...

      Gruss
      Peer

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Peer Gehrmann ()