Timer0 - wieviele Takte Verlust nach Schreiben von TMR0?
Samstag, 19. Mai 2012
 
 

PIC Mikrocontroller Forum  |  PIC Mikrocontroller  |  Programmiersprache Assembler  |  Timer (Assembler)  |  Timer0 - wieviele Takte Verlust nach Schreiben von TMR0? « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Timer0 - wieviele Takte Verlust nach Schreiben von TMR0?  (Gelesen 2659 mal)
 
AndreW
Full Member
***
Offline Offline

Beiträge: 191


Profil anzeigen
« am: Oktober 14, 2005, 12:25:12 »

Hallo,

ich "bastle" mal wieder an meiner Sparversion der PIC-Uhr *g*
Was ich noch nicht richtig verstanden habe ... im Datasheet steht nach dem Schreiben des Zählerwertes in TMR0 wird für 2 Takte/Instruktion lang nicht gezählt - wie habe ich das zu verstehen ... muß der Vorzähler jetzt erst zweimal überlaufen bevor TMR0 wieder incrementiert wird oder ist mit dieser Zwangspause der Vorzähler gemeint? Oder hat dieses Zwangspause für mich keine Auswirkung da ich einen Vorteiler benutzte und diese somit nicht greift??

(Ich habe den Vorzähler an TMR0 gebunden - mit dem wert 1:256)
Nach jedem Timerinterrupt schreibe ich den Wert 6 nach TMR0 um damit ein Teilerverhältnis von   1 : 256 : 250 zu erhalten.... dadurch geht mir der Wert des Vorteilers verloren - das ist mir klar - dort Schätze ich momentan - ist dieser bei 14-15 zum Zeitpunkt des schreibens. Wenn man die Interruptlatenzzeit und den Interupt Initialisierungscode Register sichern etc. einkalkuliert.

zu den 14-15 Vorzählerwerten kämen dann ja noch die Zwangspause vom schreiben des Zählerwertes hinzu?


André
Gespeichert

Bernd
Globaler Moderator
Hero Member
*****
Offline Offline

Beiträge: 3815



Profil anzeigen
« Antworten #1 am: Oktober 15, 2005, 14:45:12 »

Zitat
im Datasheet steht nach dem Schreiben des Zählerwertes in TMR0 wird für 2 Takte/Instruktion lang nicht gezählt - wie habe ich das zu verstehen ... muß der Vorzähler jetzt erst zweimal überlaufen bevor TMR0 wieder incrementiert wird oder ist mit dieser Zwangspause der Vorzähler gemeint?

Während der Zwangspause wird weder der Timer noch der Prescaler inkrementiert.

Zitat
Oder hat dieses Zwangspause für mich keine Auswirkung da ich einen Vorteiler benutzte und diese somit nicht greift??

Die Zwangspause von zwei Taktzyklen entsteht immer, egal ob man den Prescaler verwendet oder nicht.

Zitat
zu den 14-15 Vorzählerwerten kämen dann ja noch die Zwangspause vom schreiben des Zählerwertes hinzu?

Genau, die zwei Taktzyklen mußt Du noch zu Deinen Werten addieren.


Viele Grüße

Bernd
Gespeichert

AndreW
Full Member
***
Offline Offline

Beiträge: 191


Profil anzeigen
« Antworten #2 am: Oktober 16, 2005, 18:48:54 »

Hi,

Danke Bernd - hast mir mal wieder super geholfen - jetzt gehts so halbwegs genau - nur ca. 0,4 Sekunden Abweichungen in 24h - das ist doch jetzt OK - endlich hat das rätseln warum die Uhr gekippt ist - sich erledigt.

(die 0,4s liegen wohl am Quarz bzw. das könnte auch die PC Uhr sein - die gehen ja auch nicht genau )


André
Gespeichert

Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Powered by MySQL Powered by PHP Made for Mozilla (Firefox) Made for Internet Explorer
Seite erstellt in 0.034 Sekunden mit 18 Zugriffen.
 
Top! Top!