First Last
/
testInterruptKL25z
Test of interrupt at register level on KL25z
Diff: main.cpp
- Revision:
- 2:29e88718aded
- Parent:
- 1:ff3274c0ed87
--- a/main.cpp Fri Aug 02 23:43:26 2013 +0000 +++ b/main.cpp Fri Aug 02 23:53:40 2013 +0000 @@ -1,11 +1,11 @@ #include "mbed.h" // Function prototype/forward declaration for ISR. -void atint(); +void atint(void); /** EINT3_IRQHandler */ -extern "C" void PORTA_IRQHandler __irq (void) { +extern "C" void PORTA_IRQHandler (void) { // The "event" is connected to pin p10 which is LPC1768 P0_1 // so lets trap that and ignore all other GPIO interrupts. @@ -25,9 +25,9 @@ void event_irq_init(void) { // Use macro to set p10 as an input. //p10_AS_INPUT; - PORTA->PCR[5] = (PORTA->PCR & ~PORT_PCR_MUX_MASK) | PORT_PCR_MUX(0b001); + PORTA->PCR[5] = (PORTA->PCR[5] & ~PORT_PCR_MUX_MASK) | PORT_PCR_MUX(1); // Enable P0_1/p10 for rising edge interrupt generation. - PORTA->PCR[5] = (PORTA->PCR & ~PORT_PCR_IRQC_MASK) | PORT_PCR_IRQC(0b1011); + PORTA->PCR[5] = (PORTA->PCR[5] & ~PORT_PCR_IRQC_MASK) | PORT_PCR_IRQC(0xB); //LPC_GPIOINT->IO0IntEnR |= (1UL << 1); // Enable the interrupt. @@ -38,7 +38,11 @@ int main(void) { event_irq_init(); - while(); + while(1) + { + static volatile int i; + i++; + } } void atint(void) {