ARM 7, Keil und Interrupt
Hallo!
Ich versuche auf einem ARM7 Intterupts zu benutzen. Der Timer läuft richtig, nur Interrupts bekomme ich noch nicht... Welche Register hab ich vergessen?
Danke schon einmal!
Code:
#include <LPC21xx.H>
// olimex LPC-P2129: LEDs on P0.12/P0.13 (active low)
#define LED1PIN 12
#define LED2PIN 13
void T0IRQ (void) __irq;
unsigned short switcher = 0;
int main(void)
{
//INIT
// define LED-Pins as outputs
IODIR0 |= 1<<LED1PIN;
// set Bits = LEDs off (active low)
IOSET0 = 1<<LED1PIN;
//Sets peripheral clock = system clock
VPBDIV=0x01;
//initialise timer 0
T0TCR = 0x0;
T0TC = 0x0;
T0PR = 0x0;
T0PC = 0x0;
T0MR0 = 0xFF;
//Reset and interrupt on match
T0MCR = 0x3;
//TELL VIC WHAT TO DO!
VICIntSelect = 0x0; //NO FIQs
VICIntEnable = 0x4; //TIMER 0 on board
//Give the VIC the adress
VICVectAddr0=(unsigned long) T0IRQ;
//start the timer
T0TCR=0x1;
while(1){}
}
void T0IRQ (void) __irq
{
//TOGGLE LED
if(switcher) {
IOSET0 = 0<<LED1PIN;
switcher = 0;
} else {
switcher = 1;
IOSET0 = 1<<LED1PIN;
}
//RESET NECCESSARY TIMER VALUES
T0IR=0x1;
//END ISR
VICVectAddr=0xff;
}