PIC Timereinstellungen?!?! Bitte um Hilfe

OP #464953
Lesenswert?

Hallo,

Ich möchte mit meinen PIC 18F2550 Millisekunden zählen.

Es hängt ein 20Mhz Quarz dran, der intern über die PLL auf 96Mhz/2 also 
48Mhz hochgetaktet wird (Siehe Anhang).

Timer0 wird ja immer mit CPU Takt 1/4 betrieben also 12Mhz.
Ich habe noch den Prescaler auf 1:256 gestellt und müsste somit alle 
21,33us einen Zählimpuls am Timer0 haben.

Um nun 1ms zu erhalten Rechne ich 1ms/21,33us = 46,875. Ich lasse den 
PIC nun immer bis 46 zählen um nun ungefähr jede ms einen Interrupt zu 
bekommen und ziehe den Timer immer mit 209 auf (255 - 46 = 209). Alle 8 
Zählungen korrigiere ich um 7 um den Fehler von 0,875 zu korrigieren.

PROBLEM:

Ich bekomme viel schneller Interrupts, Ergo muss da irgendwas faul sein!

Kann jemand sagen wo mein Problem liegen könnte?

MFG

Christian
Angehängte Dateien:
Gast #464970
Lesenswert?

Ich habe nun solange probiert, bis ich rausgefunden haben, dass es genau 
dann stimmt, wenn ich die Berechnung mit 96Mhz mache. Dann muss ich 
jedesmal bis 375 zählen lassen. Benutze also nun den 16 Bit Mode des 
Timers.

Kann mir jemand erklären, wieso und warum das jetzt so ist?????????

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren