Contiki 3.x
|
Functions that manage interrupts and exceptions via the NVIC. More...
Functions | |
__STATIC_INLINE void | NVIC_EnableIRQ (IRQn_Type IRQn) |
Enable External Interrupt. More... | |
__STATIC_INLINE void | NVIC_DisableIRQ (IRQn_Type IRQn) |
Disable External Interrupt. More... | |
__STATIC_INLINE uint32_t | NVIC_GetPendingIRQ (IRQn_Type IRQn) |
Get Pending Interrupt. More... | |
__STATIC_INLINE void | NVIC_SetPendingIRQ (IRQn_Type IRQn) |
Set Pending Interrupt. More... | |
__STATIC_INLINE void | NVIC_ClearPendingIRQ (IRQn_Type IRQn) |
Clear Pending Interrupt. More... | |
__STATIC_INLINE void | NVIC_SetPriority (IRQn_Type IRQn, uint32_t priority) |
Set Interrupt Priority. More... | |
__STATIC_INLINE uint32_t | NVIC_GetPriority (IRQn_Type IRQn) |
Get Interrupt Priority. More... | |
__STATIC_INLINE void | NVIC_SystemReset (void) |
System Reset. More... | |
__STATIC_INLINE void | NVIC_SetPriorityGrouping (uint32_t PriorityGroup) |
Set Priority Grouping. More... | |
__STATIC_INLINE uint32_t | NVIC_GetPriorityGrouping (void) |
Get Priority Grouping. More... | |
__STATIC_INLINE uint32_t | NVIC_GetActive (IRQn_Type IRQn) |
Get Active Interrupt. More... | |
__STATIC_INLINE uint32_t | NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority) |
Encode Priority. More... | |
__STATIC_INLINE void | NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t *pPreemptPriority, uint32_t *pSubPriority) |
Decode Priority. More... | |
Functions that manage interrupts and exceptions via the NVIC.
__STATIC_INLINE void NVIC_ClearPendingIRQ | ( | IRQn_Type | IRQn | ) |
Clear Pending Interrupt.
The function clears the pending bit of an external interrupt.
[in] | IRQn | External interrupt number. Value cannot be negative. |
Definition at line 587 of file core_cm0.h.
References NVIC.
Referenced by RadioInit().
__STATIC_INLINE void NVIC_DecodePriority | ( | uint32_t | Priority, |
uint32_t | PriorityGroup, | ||
uint32_t * | pPreemptPriority, | ||
uint32_t * | pSubPriority | ||
) |
Decode Priority.
The function decodes an interrupt priority value with a given priority group to preemptive priority value and subpriority value. In case of a conflict between priority grouping and available priority bits (__NVIC_PRIO_BITS) the smallest possible priority group is set.
[in] | Priority | Priority value, which can be retrieved with the function NVIC_GetPriority(). |
[in] | PriorityGroup | Used priority group. |
[out] | pPreemptPriority | Preemptive priority value (starting from 0). |
[out] | pSubPriority | Subpriority value (starting from 0). |
Definition at line 1486 of file core_cm3.h.
References __NVIC_PRIO_BITS.
__STATIC_INLINE void NVIC_DisableIRQ | ( | IRQn_Type | IRQn | ) |
Disable External Interrupt.
The function disables a device-specific interrupt in the NVIC interrupt controller.
[in] | IRQn | External interrupt number. Value cannot be negative. |
Definition at line 547 of file core_cm0.h.
References NVIC.
Referenced by RadioDeInit(), and RadioInit().
__STATIC_INLINE void NVIC_EnableIRQ | ( | IRQn_Type | IRQn | ) |
Enable External Interrupt.
The function enables a device-specific interrupt in the NVIC interrupt controller.
[in] | IRQn | External interrupt number. Value cannot be negative. |
Definition at line 535 of file core_cm0.h.
References NVIC.
Referenced by clock_init(), ow_init(), RadioInit(), rtimer_arch_init(), and uart_init().
__STATIC_INLINE uint32_t NVIC_EncodePriority | ( | uint32_t | PriorityGroup, |
uint32_t | PreemptPriority, | ||
uint32_t | SubPriority | ||
) |
Encode Priority.
The function encodes the priority for an interrupt with the given priority group, preemptive priority value, and subpriority value. In case of a conflict between priority grouping and available priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set.
[in] | PriorityGroup | Used priority group. |
[in] | PreemptPriority | Preemptive priority value (starting from 0). |
[in] | SubPriority | Subpriority value (starting from 0). |
Definition at line 1458 of file core_cm3.h.
References __NVIC_PRIO_BITS.
__STATIC_INLINE uint32_t NVIC_GetActive | ( | IRQn_Type | IRQn | ) |
Get Active Interrupt.
The function reads the active register in NVIC and returns the active bit.
[in] | IRQn | Interrupt number. |
Definition at line 1401 of file core_cm3.h.
References NVIC.
__STATIC_INLINE uint32_t NVIC_GetPendingIRQ | ( | IRQn_Type | IRQn | ) |
Get Pending Interrupt.
The function reads the pending register in the NVIC and returns the pending bit for the specified interrupt.
[in] | IRQn | Interrupt number. |
Definition at line 563 of file core_cm0.h.
References NVIC.
__STATIC_INLINE uint32_t NVIC_GetPriority | ( | IRQn_Type | IRQn | ) |
Get Interrupt Priority.
The function reads the priority of an interrupt. The interrupt number can be positive to specify an external (device specific) interrupt, or negative to specify an internal (core) interrupt.
[in] | IRQn | Interrupt number. |
Definition at line 624 of file core_cm0.h.
References __NVIC_PRIO_BITS, NVIC, and SCB.
__STATIC_INLINE uint32_t NVIC_GetPriorityGrouping | ( | void | ) |
Get Priority Grouping.
The function reads the priority grouping field from the NVIC Interrupt Controller.
Definition at line 1322 of file core_cm3.h.
References SCB, SCB_AIRCR_PRIGROUP_Msk, and SCB_AIRCR_PRIGROUP_Pos.
__STATIC_INLINE void NVIC_SetPendingIRQ | ( | IRQn_Type | IRQn | ) |
Set Pending Interrupt.
The function sets the pending bit of an external interrupt.
[in] | IRQn | Interrupt number. Value cannot be negative. |
Definition at line 575 of file core_cm0.h.
References NVIC.
__STATIC_INLINE void NVIC_SetPriority | ( | IRQn_Type | IRQn, |
uint32_t | priority | ||
) |
Set Interrupt Priority.
The function sets the priority of an interrupt.
[in] | IRQn | Interrupt number. |
[in] | priority | Priority to set. |
Definition at line 602 of file core_cm0.h.
References __NVIC_PRIO_BITS, NVIC, and SCB.
Referenced by RadioInit(), and SysTick_Config().
__STATIC_INLINE void NVIC_SetPriorityGrouping | ( | uint32_t | PriorityGroup | ) |
Set Priority Grouping.
The function sets the priority grouping field using the required unlock sequence. The parameter PriorityGroup is assigned to the field SCB->AIRCR [10:8] PRIGROUP field. Only values from 0..7 are used. In case of a conflict between priority grouping and available priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set.
[in] | PriorityGroup | Priority grouping field. |
Definition at line 1302 of file core_cm3.h.
References SCB, SCB_AIRCR_PRIGROUP_Msk, SCB_AIRCR_VECTKEY_Msk, and SCB_AIRCR_VECTKEY_Pos.
__STATIC_INLINE void NVIC_SystemReset | ( | void | ) |
System Reset.
The function initiates a system reset request to reset the MCU.
Definition at line 638 of file core_cm0.h.
References SCB, SCB_AIRCR_SYSRESETREQ_Msk, and SCB_AIRCR_VECTKEY_Pos.