Contiki-NG
|
Functions that manage interrupts and exceptions via the NVIC. More...
Functions | |
__STATIC_INLINE uint32_t | NVIC_IsIRQEnabled (IRQn_Type IRQn) |
Get External Interrupt Enable State. More... | |
__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 *const pPreemptPriority, uint32_t *const pSubPriority) |
Decode Priority. More... | |
Functions that manage interrupts and exceptions via the NVIC.
__STATIC_INLINE void NVIC_ClearPendingIRQ | ( | IRQn_Type | IRQn | ) |
Clear Pending Interrupt.
Clears the pending bit of an external interrupt.
[in] | IRQn | External interrupt number. Value cannot be negative. |
Definition at line 688 of file core_cm0.h.
References NVIC.
Referenced by crypto_isr(), NVIC_GetPriorityGrouping(), and pka_isr().
__STATIC_INLINE void NVIC_DecodePriority | ( | uint32_t | Priority, |
uint32_t | PriorityGroup, | ||
uint32_t *const | pPreemptPriority, | ||
uint32_t *const | pSubPriority | ||
) |
Decode Priority.
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 1611 of file core_cm3.h.
References __DSB(), __NOP(), __NVIC_PRIO_BITS, NVIC_SystemReset(), SCB, SCB_AIRCR_PRIGROUP_Msk, SCB_AIRCR_SYSRESETREQ_Msk, SCB_AIRCR_VECTKEY_Pos, and SysTick_Config().
__STATIC_INLINE void NVIC_DisableIRQ | ( | IRQn_Type | IRQn | ) |
Disable External Interrupt.
Disables a device-specific interrupt in the NVIC interrupt controller.
[in] | IRQn | External interrupt number. Value cannot be negative. |
Definition at line 653 of file core_cm0.h.
References NVIC.
Referenced by crypto_isr(), NVIC_GetPriorityGrouping(), and pka_isr().
__STATIC_INLINE void NVIC_EnableIRQ | ( | IRQn_Type | IRQn | ) |
Enable External Interrupt.
Enables a device-specific interrupt in the NVIC interrupt controller.
[in] | IRQn | External interrupt number. Value cannot be negative. |
Definition at line 642 of file core_cm0.h.
References NVIC.
Referenced by NVIC_GetPriorityGrouping().
__STATIC_INLINE uint32_t NVIC_EncodePriority | ( | uint32_t | PriorityGroup, |
uint32_t | PreemptPriority, | ||
uint32_t | SubPriority | ||
) |
Encode Priority.
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 1584 of file core_cm3.h.
References __NVIC_PRIO_BITS.
__STATIC_INLINE uint32_t NVIC_GetActive | ( | IRQn_Type | IRQn | ) |
Get Active Interrupt.
Reads the active register in NVIC and returns the active bit.
[in] | IRQn | Interrupt number. |
Definition at line 1524 of file core_cm3.h.
References __NVIC_PRIO_BITS, NVIC, NVIC_GetPriority(), NVIC_SetPriority(), and SCB.
__STATIC_INLINE uint32_t NVIC_GetPendingIRQ | ( | IRQn_Type | IRQn | ) |
Get Pending Interrupt.
Reads the pending register in the NVIC and returns the pending bit for the specified interrupt.
[in] | IRQn | Interrupt number. |
Definition at line 666 of file core_cm0.h.
References NVIC.
Referenced by NVIC_GetPriorityGrouping().
__STATIC_INLINE uint32_t NVIC_GetPriority | ( | IRQn_Type | IRQn | ) |
Get Interrupt Priority.
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 725 of file core_cm0.h.
References SCB.
Referenced by NVIC_GetActive().
__STATIC_INLINE uint32_t NVIC_GetPriorityGrouping | ( | void | ) |
Get Priority Grouping.
Reads the priority grouping field from the NVIC Interrupt Controller.
Definition at line 1441 of file core_cm3.h.
References NVIC, NVIC_ClearPendingIRQ(), NVIC_DisableIRQ(), NVIC_EnableIRQ(), NVIC_GetPendingIRQ(), NVIC_IsIRQEnabled(), NVIC_SetPendingIRQ(), SCB, SCB_AIRCR_PRIGROUP_Msk, and SCB_AIRCR_PRIGROUP_Pos.
__STATIC_INLINE uint32_t NVIC_IsIRQEnabled | ( | IRQn_Type | IRQn | ) |
Get External Interrupt Enable State.
Returns whether a device-specific interrupt is enabled in the NVIC interrupt controller.
[in] | IRQn | External interrupt number. Value cannot be negative. |
Definition at line 631 of file core_cm0.h.
References NVIC.
Referenced by NVIC_GetPriorityGrouping().
__STATIC_INLINE void NVIC_SetPendingIRQ | ( | IRQn_Type | IRQn | ) |
Set Pending Interrupt.
Sets the pending bit of an external interrupt.
[in] | IRQn | Interrupt number. Value cannot be negative. |
Definition at line 677 of file core_cm0.h.
References NVIC.
Referenced by NVIC_GetPriorityGrouping().
__STATIC_INLINE void NVIC_SetPriority | ( | IRQn_Type | IRQn, |
uint32_t | priority | ||
) |
Set Interrupt Priority.
Sets the priority of an interrupt.
[in] | IRQn | Interrupt number. |
[in] | priority | Priority to set. |
Definition at line 701 of file core_cm0.h.
References SCB.
Referenced by NVIC_GetActive().
__STATIC_INLINE void NVIC_SetPriorityGrouping | ( | uint32_t | PriorityGroup | ) |
Set Priority Grouping.
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 1422 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.
Initiates a system reset request to reset the MCU.
Definition at line 743 of file core_cm0.h.
References __DSB(), __NOP(), SCB, SCB_AIRCR_SYSRESETREQ_Msk, and SCB_AIRCR_VECTKEY_Pos.
Referenced by NVIC_DecodePriority(), and watchdog_reboot().