Display 1,14 Zoll 135x240 Pixel Treiber ST7789V

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Hast du noch ein anderes Quarz zur Auswahl außer 10MHz?

      Wenn du eins hast, dessen Frequenz du durch 1024 teilen kannst, ohne dass es Nachkommastellen gibt,
      dann hast du ein geeignetes Quarz gefunden. Der Quotient muss einen Wert haben kleiner 65536.

      Oder ein Quarz mit kleinerer Frequenz als 10MHz, das durch 512 geteilt einen ganzzahligen Wert ergibt kleiner als 65536.
      Das geht auch.

      Das 10MHz ergibt durch 1024 geteilt einen schrägen Wert, was automatisch die Uhr zu schnell oder zu langsam läufen lässt.
      Man könnte auch den 10MHz nehmen, müsste dann aber per Prescaler durch 64 teilen. Das ergäbe einen ganzzahligen Quotient.
      Der ist allerdings größer als die 65536 (16 Bit vom Timer 1). Die ISR würde dann 10x je Sekunde aufgerufen, das müsste man dann dürch einen Zähler in der ISR korrigieren und nur jedes 10. mal die Sekunden erhöhen.
    • Thomas1964 wrote:

      Der Timer1 läuft glaub ich nur mit Quartz oder ?.
      Glauben heißt: Nix wissen!

      Wenn du im Programm den Timer als Timer konfigzrierst und ein Prescaler setzt, wird der Takt vom Systemtakt abgeleitet.
      Das kann ein ext. Quart sein, aber auch ein interner Oszillator.


      Thomas1964 wrote:

      Ansonsten würde ja noch der interne RC Oszillator mit 8Mhz und Kalibrierung.
      Das ist eine ganz schlechte Idee. Der Oszillator ist sehr ungenau und Temoeraturabhängig und auch Spannungsabhängig.
      Ein Quarz ist die beste Lösung!

      Wenn du schon den 10MHz Quarz nehmen willst (es hätte ha auch geeignetere gegeben), musst du die ISR anpassen.
      Mit Prescaler 64 und Compare1a-Wert = 15625-1 ergäben sich genau 10 Hz Aufruf-Frequenz der ISR.

      Musst also in der ISR noch einen Zähler einbauen, und wenn der dann 10 hat, dann auf 0 setzen und die Sekunde +1
    • Thomas1964 wrote:

      Der Timer1 läuft glaub ich nur mit Quartz oder ?.
      Ansonsten würde ja noch der interne RC Oszillator mit 8Mhz und Kalibrierung.
      Timer1 hängt am Systemclock unabhängig wie der gemacht wird.
      Den internen besser nicht über 8,8 Mhz bringen wenn EEprom Befehle benützt werden. (Datenblatt)
      Hier lief einer problemlos mit 9,6 Mhz (leider ohne EEprom zu testen)
      Die Kalibrierung ist nicht fein genug eine Uhr über Tage brauchbar zu haben.