- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 13 von 13

Thema: Timer geht vor

  1. #11
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Im Grunde ist das aber das genauso wie Michael meinte, nur nen anderer Prescaler, wundert mich, dass es jetzt läuft. Nur der Timer wird eigentlich anders beladen, allerdings läuft die erste Sekunde in Gasts Code zu langsam, da der Timer noch nciht beladen ist. Der Timer startet doch bei 0, oder.

    @ xryder (erster Post): Natürlich, die Zahl 3036 kommt ja wie folgt zu Stande:

    16000000/256=62500

    Eine Sekunde ist also 62500 Steps lang
    Allerdings hat der Timer (16 Bit) ja 65536, also

    65536-62500 = 3036!

    Damit der Timer pünktlich zur Sekunde überläuft muss er mit 3036 neu beladen werden. Allerdings hier meine Frage, wenn der Timer doch erst in der Interruptroutine neu beladen wird, dann wird ja die Zeit, die vom Sprung zur Routine bis zum neu beladen vergeht, immer auf die Sekunde gerechenet. Stimmt das so?

    MFG Moritz

  2. #12
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Zitat Zitat von RCO
    Damit der Timer pünktlich zur Sekunde überläuft muss er mit 3036 neu beladen werden. Allerdings hier meine Frage, wenn der Timer doch erst in der Interruptroutine neu beladen wird, dann wird ja die Zeit, die vom Sprung zur Routine bis zum neu beladen vergeht, immer auf die Sekunde gerechenet. Stimmt das so?
    Ja, aber das sind ja nur wenige Takte. Behaupten wir mal, ein Takt für den Sprung und 1 Takte um den Timer wieder zu laden.
    Wenn man die ungenauigkeit des Quarz bedenkt, sind die 2 Takte bei über.
    Dann geht's aber weiter. Ein Interrupt verhält sich ja ähnlich wie ein GOSUB. Es muss noch gespeichert werden, wo das Programm gerade steht um an der Stelle nach Return (oder Reti) weiterzumachen.
    (2 Takte glaube ich)
    Das schlimmst kommt aber noch. Das speicher aller Register. (jeweils 2 Takte!)
    So sind mal gut und gerne 60 Takte abgelaufen, bis der Timer mit x (3036) wieder aufgeladen wird.
    Nach meinem Verständnis wirkt sich das aber nur auf Prescaler=1 aus. Weil ja nur da jeder Takt ein Schritt näher zum Overflow bedeutet. Bei Teiler = 256 müssen ja erstmal 256 Takte abgelaufen sein, damit der Timer um 1 erhöht.

  3. #13
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Kann es sein, das hier grade jemand was geschrieben hat und es wieder gelöscht hat???
    Jeder, der hier schonmal ein Text verfasst hat, oder das Thema beobachtet, bekommt idr eine Emailbenachrichtigung.
    Wenn jetzt, so wie es wohl der Fall war, jemand was schreibt und den Beitrag löscht, geht der Link in der Benachrichtigung ins leere!
    Und wenn mal wirklich jemand hier eine Anmerkung schreiben möchte, gibt es dann keine neuen Emails mehr, es sei denn, man lässt sich wieder welche schicken.
    Das ist aber nicht Sinn der Erfindung.

    Also, am besten der Beitrag bearbeiten und den Text einfach löschen, damit haben es alle anderen leichter!

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress