Timerinterrupt Problem bei ARM7 LPC2106

Gast #2022265
Lesenswert?
• ▲
▼
Hallo Leute, ich hab schon fleißig im Forum gesucht, hab aber leider für 
mein Problem keine Lösung gefunden. Daher hoffe ich, dass mir irgendwer 
weiterhelfen kann. Hab leider mit ARM Kontrollern noch keine Erfahrung.

Ich versuche schon seit längerer Zeit bei einem LPC2106 den Timer0 so zu 
konfigurieren, dass dieser bei 5 Mikrosekunden einen IRQ auslöst. Der 
ARM stellt den Mikrokontroller von einer CMUCam3 dar, welche um 
zusätlich Funktionen erweitert wurde. Nur leider gibt es Probleme mit 
dem Timer wenn dieser in Kombination mit Interrupts genutzt wird. Der 
Timer wird aktuell nur für eine "wait()" Funktion benützt - ohne 
Interrupts.

//Grundeinstellung des Timer0 bei der CMUCam3
TIMER0_TCR = 0;
TIMER0_MCR = 0;
TIMER0_TC = 0;
TIMER0_PC = 0;
TIMER0_PR = (int)(((FOSC*PLL_M)/1000)/1000); // jede us
TIMER_TCR = 1;

//Interrupt Init für Timer0
VICIntEnClear = 0xFFFFFFFF;
VICIntSelect = 0x00000000;
VICINtEnable = 16; //Kanal 4
VICVectAddr4 = (unsigned long)timertickISR;
VICVectAddr4 = (1<<5) | 4;

//Timer0 (der Timer läuft bereits; soll lediglich neugestartet werden 
und um die Interrupt-Funktionalität erweitert werden)
TIMER0_TCR = 0; //turn off timer
TIMER0_TC = 0; //clear counter
TIMER0_PC = 0; //clear prescale count
//TIMER0_TCR = 2; hab ich auch schon versucht ... sollte ja das gleiche 
bewirken wie die zwei Zeilen darüber
TIMER_MC0 = 5; //5 mikros
TIMER_MCR = 3; //enable interrupt, clear MCO reg

TIMER0TCR = 1; //sollte den Timer0 wieder starten ....

Leider gibt es ein Problem, wenn ich den Timer0 wieder starten will. 
Nach der Zeile "TIMER0TCR = 1" kommen keine meiner Debug-Ausgaben mehr 
an, bzw. mein Programm macht nicht mehr was es sollte....

Gibt es eine Reihenfolge die eingehalten werden muss, wie man Timer oder 
Interrupt initialisieren sollte?

Muss ich meine StartUp.s-Datei anpassen um Interrupts zu enablen? Wenn 
ja, wie???

Ist der hier aufgeführte Code soweit richtig?

Hoffentlich kann mir jemand weiterhelfen .... hab schon soviel erfolglos 
rumprobiert!!!

Viele Grüße
Josef

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.