Tool to change all interrupt priorities at once. Check the header file for supported mbed targets.
Dependents: CC3000_Hostdriver KL25Z_FFT_Demo cc3000_hello_world_demo cc3000_simple_socket_demo ... more
Example
#include "NVIC_set_all_priorities.h" int main() { NVIC_set_all_irq_priorities(3); ..... }
Revision 0:d3f63dfa84b7, committed 2013-09-19
- Comitter:
- frankvnk
- Date:
- Thu Sep 19 13:38:45 2013 +0000
- Child:
- 1:c091f2dbc0e5
- Commit message:
- First release
Changed in this revision
NVIC_set_all_priorities.cpp | Show annotated file Show diff for this revision Revisions of this file |
NVIC_set_all_priorities.h | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/NVIC_set_all_priorities.cpp Thu Sep 19 13:38:45 2013 +0000 @@ -0,0 +1,18 @@ +/************************************************************************************************** + ***** ***** + ***** Name: NVIC_set_all_priorities.cpp ***** + ***** Date: 18/09/2013 ***** + ***** Auth: Frank Vannieuwkerke ***** + ***** Func: library for changing all IRQ priorities at once ***** + ***** Supported targets : see enum declaration in .h file ***** + ***** ***** + **************************************************************************************************/ + +#include "NVIC_set_all_priorities.h" + +void NVIC_set_all_irq_priorities(int priority) +{ + int irqnum; + for(irqnum = first_IRQ_number ; irqnum < last_IRQ_number + 1 ; irqnum++) + NVIC_SetPriority((IRQn)irqnum, priority); +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/NVIC_set_all_priorities.h Thu Sep 19 13:38:45 2013 +0000 @@ -0,0 +1,54 @@ +#ifndef SET_ALL_PRIO +#define SET_ALL_PRIO + +#include "mbed.h" + +enum FIRST_LAST_IRQ { +#ifdef TARGET_KL05Z + first_IRQ_number = SysTick_IRQn, + last_IRQ_number = PORTB_IRQn, +#elif defined TARGET_KL25Z + first_IRQ_number = SysTick_IRQn, + last_IRQ_number = PORTD_IRQn, +#elif defined LPC11CXX + first_IRQ_number = SysTick_IRQn, + last_IRQ_number = EINT0_IRQn, +#elif defined LPC11UXX + first_IRQ_number = SysTick_IRQn, + last_IRQ_number = Reserved6_IRQn, +#elif defined LPC11XX + first_IRQ_number = SysTick_IRQn, + last_IRQ_number = EINT0_IRQn, +#elif defined LPC13XX + first_IRQ_number = SysTick_IRQn, + last_IRQ_number = Reserved5_IRQn, +#elif defined LPC23XX + first_IRQ_number = WDT_IRQn, + last_IRQ_number = I2S_IRQn, +#elif defined LPC43XX + first_IRQ_number = SysTick_IRQn, + last_IRQ_number = QEI_IRQn, +#elif defined LPC81X + first_IRQ_number = SysTick_IRQn, + last_IRQ_number = PININT7_IRQn, +#elif defined LPC176X + first_IRQ_number = SysTick_IRQn, + last_IRQ_number = CANActivity_IRQn, +#elif defined LPC408X + first_IRQ_number = SysTick_IRQn, + last_IRQ_number = CMP1_IRQn, +#elif defined STM32F4XX + first_IRQ_number = SysTick_IRQn, + last_IRQ_number = HASH_RNG_IRQn, +#elif defined STM32F40XX + first_IRQ_number = SysTick_IRQn, + last_IRQ_number = FPU_IRQn, +#elif defined STM32F427X + first_IRQ_number = SysTick_IRQn, + last_IRQ_number = SPI6_IRQn +#endif +}; + +void NVIC_set_all_irq_priorities(int priority); + +#endif // SET_ALL_PRIO