Hallo!
Ich habe ein LPC3250 von Phytec und möchte jetzt ein Timer alle Sekunde
ein Interrupt auslösen. Doch wie setzte ich beim LPC3250 den Interrupt?
Mein Code bis jetzt:
1 | TIMCLK_CTRL1 = 0x04; //Timer o wird aktiviert
|
2 | T0CTCR = 0x00; //Timer0 wird als timer verwendet
|
3 | T0TCR = 0x01; //Timer0 aktiviert
|
4 | T0PR = 12999999; //Frequenz 1hz
|
5 | T0MCR = 0x03; //Match Register zurücksetzten und Interrupt auslösen
|
6 | MIC_ER = 0x10000; //Timer0 Interrupt aktiviert
|
Beim LPC2294 gab es für den Interrupt folgendes:
1 | VICVectAddr5 = (unsigned long)tc1; // Adresse des Intterupt festlegen
|
2 | VICVectCntl5 = 0x20 | 5; // Priorität festlegen
|
3 | VICIntEnable = 0x00000020; // Timer 1 Interrupt aktiviert
|
4 | //________________________________________________________________//
|
5 | __irq void tc1 (void)
|
6 | {
|
7 | ++intZaehlwert;
|
8 | T1IR = 1; // Clear interrupt flag
|
9 | VICVectAddr = 0; // Acknowledge Interrupt
|
10 | }
|
Im User Manuell hab ich dieses gefunden:
Wenn ich es richtig verstanden habe, aktiviere ich damit den Interrupt:
1 | MIC_APR |= 0x10000; // Interrupt Polarity. See bit 0 description Active LOW (0)
|
2 | MIC_ATR &=~0x10000; // Interrupt Activation Type, see bit 0 description Level (0)
|
Wie lautet die Syntax denn, wo ich festlege, wenn ein Interrupt
ausgeführt wird?
MfG
Meyer