![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
A simple example that uses the GPIO group and pin interrupts. LED1 turns on when P21 and P22 are grounded (using group 0 interrupt) LED1 turns of when P23 or P24 are grounded (using group 1 interrupt) LED2 turns on when P19 is grounded (using GPIO interrupt 0) LED2 turns off when P18 is grounded (using GPIO interrupt 1)
Revision 2:7c8d0f7dd79f, committed 2012-05-24
- Comitter:
- alexan_e
- Date:
- Thu May 24 15:25:54 2012 +0000
- Parent:
- 1:566ac56c130e
- Commit message:
- Changed interrupt priority comment, the CortexM0 has four levels 0-3.
Moved the SetPriority function before the interrupt enable. In CortexM0 the priority shouldnt be changed while the interrupt is enabled
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 566ac56c130e -r 7c8d0f7dd79f main.cpp --- a/main.cpp Sat May 19 23:33:19 2012 +0000 +++ b/main.cpp Thu May 24 15:25:54 2012 +0000 @@ -228,18 +228,18 @@ Vectored Interrupt initialization ******************************************************************************/ + NVIC_SetPriority(GINT0_IRQn,0); /* Default priority group 0, can be 0(highest) - 3(lowest) */ NVIC_EnableIRQ(GINT0_IRQn); /* Enable GPIO group 0 interrupt */ - NVIC_SetPriority(GINT0_IRQn,0); /* Default priority group 0, can be 0(highest) - 31(lowest) */ - - NVIC_EnableIRQ(GINT1_IRQn); /* Enable GPIO group 1 interrupt */ - NVIC_SetPriority(GINT1_IRQn,0); /* Default priority group 0, can be 0(highest) - 31(lowest) */ + NVIC_SetPriority(GINT1_IRQn,0); /* Default priority group 0, can be 0(highest) - 3(lowest) */ + NVIC_EnableIRQ(GINT1_IRQn); /* Enable GPIO group 1 interrupt */ + + NVIC_SetPriority(FLEX_INT0_IRQn,0); /* Default priority group 0, can be 0(highest) - 3(lowest) */ NVIC_EnableIRQ(FLEX_INT0_IRQn); /* Enable GPIO pin interrupt 0 */ - NVIC_SetPriority(FLEX_INT0_IRQn,0); /* Default priority group 0, can be 0(highest) - 31(lowest) */ - + + NVIC_SetPriority(FLEX_INT1_IRQn,0); /* Default priority group 0, can be 0(highest) - 3(lowest) */ NVIC_EnableIRQ(FLEX_INT1_IRQn); /* Enable GPIO pin interrupt 1 */ - NVIC_SetPriority(FLEX_INT1_IRQn,0); /* Default priority group 0, can be 0(highest) - 31(lowest) */ - + while(1) {