Timer LPC2138

Gast #2690108
Lesenswert?
• ▲
▼
Hallo zusammen.

Folgendes Problem beschäftigt mich.
Ich steuere einen LPC2138 mit einem 12MHz Quarz. Intern multipliziere 
ich die Frequenz auf 60MHz. Dies ergibt eine Periodendauer von 
16.666..ns. Die Hardware funktioniert einwandfrei.

Nun will ich mit dem Timer einen 1us Interrupt generieren. Dies will ich 
mit folgendem Code realisieren. Ich teile mit dem Register T1PR die 
60MHz auf 10MHz. Danach nochmals mit dem T1MR0 auf 1MHz. Dies sollte 
meinen Interrupt ergeben. Doch es funktioniert nicht! Wenn ich mit dem 
T1MR0 auf 100kHz teile hingegen schon!
1
void Timer1Init (void)
2
{
3
  T1TCR = 0x02;          //Timer1 disable, reset 
4
  T1CTCR = 0x00;           //Timer1 in Timer Mode (Clock = PCLK)
5
  T1PR = 5;            //fPC = PCLK/(PR+1)
6
  T1MR0 = 9;            //fTC = fPC/(MRO+1)
7
  T1MCR = 0x0003;          //interrupt and reset TC, when MR0 equal to TC
8
  T1TCR = 0x01;          //Timer1 enable 
9
}
#2690114
Lesenswert?
• ▲
▼
Formulierungen wie "es funktioniert nicht" werden hier heiss und innig 
geliebt.

Falls damit gemeint sein sollte, dass der Timer-Interrupt nicht 
zuverlässig 1 Mio mal pro Sekunde läuft: 60 Takte sind für einen 
Interrupt-Handler sehr knapp bemessen, wenn es nicht grad der FIQ mit 
wenigen Zeilen Assembler-Code ist. 600 Takte jedoch nicht.

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.