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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.