LCD Display mit KS0108 Controller

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

    • LCD Display mit KS0108 Controller

      Neues Projekt mit LCD 128x64 und KS0108 Controller,

      ich bin schon eine ganze Zeit am suchen, das Problem, bei verschiedenen Anzeigen verschiebt sich nach undefinierter Zeit die Grafik, meist verrutscht die recht Display Hälfte oder es kommen wirre Zeichen

      Bei einigen Displays, reicht es „Config Clockdiv = 2“ zu benutzen, aber das eigentliche Problem kann ich nur lösen, wenn ich Interrupts deaktiviere, ich brauche aber für die Statistik einen Sekundentakt.

      Und das interessante ist ja, mal läuft alles ohne Probleme, dann programmiere ich den Nano neu und der Fehler tritt auf, dann wieder mal nicht.

      Kennt jemand das Problem.
      Dateien
    • nicht zwingend. Man muss nur drauf achten, dass sie nicht 'einfach so' ausgeführt werden. Da das Programm in der do loop-Schleife bleiben sollte und nicht nach dem 'loop' weiter laufen kann, müsste es passen. Ein 'end' ist mehr so eine 'Notbremse'.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Fast aufgegeben:


      Eigentlich wollte ich, das der Sonnenkollektor bzw. der Wasserspeicher blinkt, wenn diese die eingestellte Temperatur erreicht haben.


      Doch leider ist in undefinierbaren Zeitabständen immer das Display durcheinandergeraten, Mal nach Minuten, mal nach Tagen. Also habe ich den Text (Temperatur) blinken lassen. Das ging dann ohne Probleme. Bei verschiedenen Display ganz unterschiedliches Verhalten, das auch noch. Irgendwo bei einem Chinesen habe ich dann eine LIB gefunden die für 16 MHz sein soll. Die alte geht wohl nur bis 1 MHz richtig.


      Interessanterweise ist der Fehler auch nicht aufgetreten, wenn die Interrupts disabled waren. Also in Programm Interrupts enabled und disabled und schon ging es auch. Konnte aber auch nicht die Lösung sein.


      IMG_E0836.JPGDann habe ich mich nachmals darangegeben und siehe da, das Problem war „$hwstack = 40“ wohl zu klein. Mit „$hwstack = 80“ läuft alles super und natürlich muss die LIB für 16 MHz muss auch dazu.

      Habe mal das Koplette Programm mit PICs und LIB angehängt.
      Dateien
    • Hätte dir der 'code explorer' unter 'info' die passende framesize-Größe angezeigt? Ich schau beim Programmieren immer mal auf die Werte und pass' gegebenenfalls die Größen meiner Einstellungen (hwstack, swstack, framesize) an.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------