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