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
Die Reihenfolge stimmt nicht .... Interrupts müssen im StartUP.s File global eingeschaltet werden!
Kann mir sonst keiner weiterhelfen??? Wäre über ein paar konstruktive Vorschläge oder Hinweise echt dankbar!!! Gruß Josef
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.