CC27xxDriverLibrary

Functions that manage interrupts and exceptions via the NVIC. More...

Collaboration diagram for NVIC Functions:

Macros

#define NVIC_SetPriorityGrouping   __NVIC_SetPriorityGrouping
 
#define NVIC_GetPriorityGrouping   __NVIC_GetPriorityGrouping
 
#define NVIC_EnableIRQ   __NVIC_EnableIRQ
 
#define NVIC_GetEnableIRQ   __NVIC_GetEnableIRQ
 
#define NVIC_DisableIRQ   __NVIC_DisableIRQ
 
#define NVIC_GetPendingIRQ   __NVIC_GetPendingIRQ
 
#define NVIC_SetPendingIRQ   __NVIC_SetPendingIRQ
 
#define NVIC_ClearPendingIRQ   __NVIC_ClearPendingIRQ
 
#define NVIC_GetActive   __NVIC_GetActive
 
#define NVIC_SetPriority   __NVIC_SetPriority
 
#define NVIC_GetPriority   __NVIC_GetPriority
 
#define NVIC_SystemReset   __NVIC_SystemReset
 
#define NVIC_SetVector   __NVIC_SetVector
 
#define NVIC_GetVector   __NVIC_GetVector
 
#define NVIC_USER_IRQ_OFFSET   16
 
#define FNC_RETURN   (0xFEFFFFFFUL) /* bit [0] ignored when processing a branch */
 
#define EXC_RETURN_PREFIX   (0xFF000000UL) /* bits [31:24] set to indicate an EXC_RETURN value */
 
#define EXC_RETURN_S   (0x00000040UL) /* bit [6] stack used to push registers: 0=Non-secure 1=Secure */
 
#define EXC_RETURN_DCRS   (0x00000020UL) /* bit [5] stacking rules for called registers: 0=skipped 1=saved */
 
#define EXC_RETURN_FTYPE   (0x00000010UL) /* bit [4] allocate stack for floating-point context: 0=done 1=skipped */
 
#define EXC_RETURN_MODE   (0x00000008UL) /* bit [3] processor mode for return: 0=Handler mode 1=Thread mode */
 
#define EXC_RETURN_SPSEL   (0x00000004UL) /* bit [2] stack pointer used to restore context: 0=MSP 1=PSP */
 
#define EXC_RETURN_ES   (0x00000001UL) /* bit [0] security state exception was taken to: 0=Non-secure 1=Secure */
 
#define EXC_INTEGRITY_SIGNATURE   (0xFEFA125BUL) /* Value for processors without floating-point extension */
 
#define NVIC_SetPriorityGrouping   __NVIC_SetPriorityGrouping
 
#define NVIC_GetPriorityGrouping   __NVIC_GetPriorityGrouping
 
#define NVIC_EnableIRQ   __NVIC_EnableIRQ
 
#define NVIC_GetEnableIRQ   __NVIC_GetEnableIRQ
 
#define NVIC_DisableIRQ   __NVIC_DisableIRQ
 
#define NVIC_GetPendingIRQ   __NVIC_GetPendingIRQ
 
#define NVIC_SetPendingIRQ   __NVIC_SetPendingIRQ
 
#define NVIC_ClearPendingIRQ   __NVIC_ClearPendingIRQ
 
#define NVIC_GetActive   __NVIC_GetActive
 
#define NVIC_SetPriority   __NVIC_SetPriority
 
#define NVIC_GetPriority   __NVIC_GetPriority
 
#define NVIC_SystemReset   __NVIC_SystemReset
 
#define NVIC_SetVector   __NVIC_SetVector
 
#define NVIC_GetVector   __NVIC_GetVector
 
#define NVIC_USER_IRQ_OFFSET   16
 
#define FNC_RETURN   (0xFEFFFFFFUL) /* bit [0] ignored when processing a branch */
 
#define EXC_RETURN_PREFIX   (0xFF000000UL) /* bits [31:24] set to indicate an EXC_RETURN value */
 
#define EXC_RETURN_S   (0x00000040UL) /* bit [6] stack used to push registers: 0=Non-secure 1=Secure */
 
#define EXC_RETURN_DCRS   (0x00000020UL) /* bit [5] stacking rules for called registers: 0=skipped 1=saved */
 
#define EXC_RETURN_FTYPE   (0x00000010UL) /* bit [4] allocate stack for floating-point context: 0=done 1=skipped */
 
#define EXC_RETURN_MODE   (0x00000008UL) /* bit [3] processor mode for return: 0=Handler mode 1=Thread mode */
 
#define EXC_RETURN_SPSEL   (0x00000004UL) /* bit [2] stack pointer used to restore context: 0=MSP 1=PSP */
 
#define EXC_RETURN_ES   (0x00000001UL) /* bit [0] security state exception was taken to: 0=Non-secure 1=Secure */
 
#define EXC_INTEGRITY_SIGNATURE   (0xFEFA125BUL) /* Value for processors without floating-point extension */
 
#define _BIT_SHIFT(IRQn)   ( ((((uint32_t)(int32_t)(IRQn)) ) & 0x03UL) * 8UL)
 
#define _SHP_IDX(IRQn)   ( (((((uint32_t)(int32_t)(IRQn)) & 0x0FUL)-8UL) >> 2UL) )
 
#define _IP_IDX(IRQn)   ( (((uint32_t)(int32_t)(IRQn)) >> 2UL) )
 
#define __NVIC_SetPriorityGrouping(X)   (void)(X)
 
#define __NVIC_GetPriorityGrouping()   (0U)
 Get Priority Grouping. More...
 
#define NVIC_SetPriorityGrouping   __NVIC_SetPriorityGrouping
 
#define NVIC_GetPriorityGrouping   __NVIC_GetPriorityGrouping
 
#define NVIC_EnableIRQ   __NVIC_EnableIRQ
 
#define NVIC_GetEnableIRQ   __NVIC_GetEnableIRQ
 
#define NVIC_DisableIRQ   __NVIC_DisableIRQ
 
#define NVIC_GetPendingIRQ   __NVIC_GetPendingIRQ
 
#define NVIC_SetPendingIRQ   __NVIC_SetPendingIRQ
 
#define NVIC_ClearPendingIRQ   __NVIC_ClearPendingIRQ
 
#define NVIC_GetActive   __NVIC_GetActive
 
#define NVIC_SetPriority   __NVIC_SetPriority
 
#define NVIC_GetPriority   __NVIC_GetPriority
 
#define NVIC_SystemReset   __NVIC_SystemReset
 
#define NVIC_SetVector   __NVIC_SetVector
 
#define NVIC_GetVector   __NVIC_GetVector
 
#define NVIC_USER_IRQ_OFFSET   16
 
#define FNC_RETURN   (0xFEFFFFFFUL) /* bit [0] ignored when processing a branch */
 
#define EXC_RETURN_PREFIX   (0xFF000000UL) /* bits [31:24] set to indicate an EXC_RETURN value */
 
#define EXC_RETURN_S   (0x00000040UL) /* bit [6] stack used to push registers: 0=Non-secure 1=Secure */
 
#define EXC_RETURN_DCRS   (0x00000020UL) /* bit [5] stacking rules for called registers: 0=skipped 1=saved */
 
#define EXC_RETURN_FTYPE   (0x00000010UL) /* bit [4] allocate stack for floating-point context: 0=done 1=skipped */
 
#define EXC_RETURN_MODE   (0x00000008UL) /* bit [3] processor mode for return: 0=Handler mode 1=Thread mode */
 
#define EXC_RETURN_SPSEL   (0x00000004UL) /* bit [2] stack pointer used to restore context: 0=MSP 1=PSP */
 
#define EXC_RETURN_ES   (0x00000001UL) /* bit [0] security state exception was taken to: 0=Non-secure 1=Secure */
 
#define EXC_INTEGRITY_SIGNATURE   (0xFEFA125BUL) /* Value for processors without floating-point extension */
 
#define NVIC_SetPriorityGrouping   __NVIC_SetPriorityGrouping
 
#define NVIC_GetPriorityGrouping   __NVIC_GetPriorityGrouping
 
#define NVIC_EnableIRQ   __NVIC_EnableIRQ
 
#define NVIC_GetEnableIRQ   __NVIC_GetEnableIRQ
 
#define NVIC_DisableIRQ   __NVIC_DisableIRQ
 
#define NVIC_GetPendingIRQ   __NVIC_GetPendingIRQ
 
#define NVIC_SetPendingIRQ   __NVIC_SetPendingIRQ
 
#define NVIC_ClearPendingIRQ   __NVIC_ClearPendingIRQ
 
#define NVIC_GetActive   __NVIC_GetActive
 
#define NVIC_SetPriority   __NVIC_SetPriority
 
#define NVIC_GetPriority   __NVIC_GetPriority
 
#define NVIC_SystemReset   __NVIC_SystemReset
 
#define NVIC_SetVector   __NVIC_SetVector
 
#define NVIC_GetVector   __NVIC_GetVector
 
#define NVIC_USER_IRQ_OFFSET   16
 
#define FNC_RETURN   (0xFEFFFFFFUL) /* bit [0] ignored when processing a branch */
 
#define EXC_RETURN_PREFIX   (0xFF000000UL) /* bits [31:24] set to indicate an EXC_RETURN value */
 
#define EXC_RETURN_S   (0x00000040UL) /* bit [6] stack used to push registers: 0=Non-secure 1=Secure */
 
#define EXC_RETURN_DCRS   (0x00000020UL) /* bit [5] stacking rules for called registers: 0=skipped 1=saved */
 
#define EXC_RETURN_FTYPE   (0x00000010UL) /* bit [4] allocate stack for floating-point context: 0=done 1=skipped */
 
#define EXC_RETURN_MODE   (0x00000008UL) /* bit [3] processor mode for return: 0=Handler mode 1=Thread mode */
 
#define EXC_RETURN_SPSEL   (0x00000004UL) /* bit [2] stack pointer used to restore context: 0=MSP 1=PSP */
 
#define EXC_RETURN_ES   (0x00000001UL) /* bit [0] security state exception was taken to: 0=Non-secure 1=Secure */
 
#define EXC_INTEGRITY_SIGNATURE   (0xFEFA125BUL) /* Value for processors without floating-point extension */
 

Functions

__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 void __NVIC_EnableIRQ (IRQn_Type IRQn)
 Enable Interrupt. More...
 
__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ (IRQn_Type IRQn)
 Get Interrupt Enable status. More...
 
__STATIC_INLINE void __NVIC_DisableIRQ (IRQn_Type IRQn)
 Disable 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 uint32_t __NVIC_GetActive (IRQn_Type IRQn)
 Get Active 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 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...
 
__STATIC_INLINE void __NVIC_SetVector (IRQn_Type IRQn, uint32_t vector)
 Set Interrupt Vector. More...
 
__STATIC_INLINE uint32_t __NVIC_GetVector (IRQn_Type IRQn)
 Get Interrupt Vector. More...
 
__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset (void)
 System Reset. More...
 

Detailed Description

Functions that manage interrupts and exceptions via the NVIC.

Macro Definition Documentation

§ NVIC_SetPriorityGrouping [1/4]

#define NVIC_SetPriorityGrouping   __NVIC_SetPriorityGrouping

§ NVIC_GetPriorityGrouping [1/4]

#define NVIC_GetPriorityGrouping   __NVIC_GetPriorityGrouping

§ NVIC_EnableIRQ [1/4]

#define NVIC_EnableIRQ   __NVIC_EnableIRQ

§ NVIC_GetEnableIRQ [1/4]

#define NVIC_GetEnableIRQ   __NVIC_GetEnableIRQ

§ NVIC_DisableIRQ [1/4]

#define NVIC_DisableIRQ   __NVIC_DisableIRQ

§ NVIC_GetPendingIRQ [1/4]

#define NVIC_GetPendingIRQ   __NVIC_GetPendingIRQ

§ NVIC_SetPendingIRQ [1/4]

#define NVIC_SetPendingIRQ   __NVIC_SetPendingIRQ

§ NVIC_ClearPendingIRQ [1/4]

#define NVIC_ClearPendingIRQ   __NVIC_ClearPendingIRQ

§ NVIC_GetActive [1/4]

#define NVIC_GetActive   __NVIC_GetActive

§ NVIC_SetPriority [1/4]

#define NVIC_SetPriority   __NVIC_SetPriority

Referenced by DIB_GetAuthStatus().

§ NVIC_GetPriority [1/4]

#define NVIC_GetPriority   __NVIC_GetPriority

§ NVIC_SystemReset [1/4]

#define NVIC_SystemReset   __NVIC_SystemReset

§ NVIC_SetVector [1/4]

#define NVIC_SetVector   __NVIC_SetVector

§ NVIC_GetVector [1/4]

#define NVIC_GetVector   __NVIC_GetVector

§ NVIC_USER_IRQ_OFFSET [1/4]

#define NVIC_USER_IRQ_OFFSET   16

§ FNC_RETURN [1/4]

#define FNC_RETURN   (0xFEFFFFFFUL) /* bit [0] ignored when processing a branch */

§ EXC_RETURN_PREFIX [1/4]

#define EXC_RETURN_PREFIX   (0xFF000000UL) /* bits [31:24] set to indicate an EXC_RETURN value */

§ EXC_RETURN_S [1/4]

#define EXC_RETURN_S   (0x00000040UL) /* bit [6] stack used to push registers: 0=Non-secure 1=Secure */

§ EXC_RETURN_DCRS [1/4]

#define EXC_RETURN_DCRS   (0x00000020UL) /* bit [5] stacking rules for called registers: 0=skipped 1=saved */

§ EXC_RETURN_FTYPE [1/4]

#define EXC_RETURN_FTYPE   (0x00000010UL) /* bit [4] allocate stack for floating-point context: 0=done 1=skipped */

§ EXC_RETURN_MODE [1/4]

#define EXC_RETURN_MODE   (0x00000008UL) /* bit [3] processor mode for return: 0=Handler mode 1=Thread mode */

§ EXC_RETURN_SPSEL [1/4]

#define EXC_RETURN_SPSEL   (0x00000004UL) /* bit [2] stack pointer used to restore context: 0=MSP 1=PSP */

§ EXC_RETURN_ES [1/4]

#define EXC_RETURN_ES   (0x00000001UL) /* bit [0] security state exception was taken to: 0=Non-secure 1=Secure */

§ EXC_INTEGRITY_SIGNATURE [1/4]

#define EXC_INTEGRITY_SIGNATURE   (0xFEFA125BUL) /* Value for processors without floating-point extension */

§ NVIC_SetPriorityGrouping [2/4]

#define NVIC_SetPriorityGrouping   __NVIC_SetPriorityGrouping

§ NVIC_GetPriorityGrouping [2/4]

#define NVIC_GetPriorityGrouping   __NVIC_GetPriorityGrouping

§ NVIC_EnableIRQ [2/4]

#define NVIC_EnableIRQ   __NVIC_EnableIRQ

§ NVIC_GetEnableIRQ [2/4]

#define NVIC_GetEnableIRQ   __NVIC_GetEnableIRQ

§ NVIC_DisableIRQ [2/4]

#define NVIC_DisableIRQ   __NVIC_DisableIRQ

§ NVIC_GetPendingIRQ [2/4]

#define NVIC_GetPendingIRQ   __NVIC_GetPendingIRQ

§ NVIC_SetPendingIRQ [2/4]

#define NVIC_SetPendingIRQ   __NVIC_SetPendingIRQ

§ NVIC_ClearPendingIRQ [2/4]

#define NVIC_ClearPendingIRQ   __NVIC_ClearPendingIRQ

§ NVIC_GetActive [2/4]

#define NVIC_GetActive   __NVIC_GetActive

§ NVIC_SetPriority [2/4]

#define NVIC_SetPriority   __NVIC_SetPriority

§ NVIC_GetPriority [2/4]

#define NVIC_GetPriority   __NVIC_GetPriority

§ NVIC_SystemReset [2/4]

#define NVIC_SystemReset   __NVIC_SystemReset

§ NVIC_SetVector [2/4]

#define NVIC_SetVector   __NVIC_SetVector

§ NVIC_GetVector [2/4]

#define NVIC_GetVector   __NVIC_GetVector

§ NVIC_USER_IRQ_OFFSET [2/4]

#define NVIC_USER_IRQ_OFFSET   16

§ FNC_RETURN [2/4]

#define FNC_RETURN   (0xFEFFFFFFUL) /* bit [0] ignored when processing a branch */

§ EXC_RETURN_PREFIX [2/4]

#define EXC_RETURN_PREFIX   (0xFF000000UL) /* bits [31:24] set to indicate an EXC_RETURN value */

§ EXC_RETURN_S [2/4]

#define EXC_RETURN_S   (0x00000040UL) /* bit [6] stack used to push registers: 0=Non-secure 1=Secure */

§ EXC_RETURN_DCRS [2/4]

#define EXC_RETURN_DCRS   (0x00000020UL) /* bit [5] stacking rules for called registers: 0=skipped 1=saved */

§ EXC_RETURN_FTYPE [2/4]

#define EXC_RETURN_FTYPE   (0x00000010UL) /* bit [4] allocate stack for floating-point context: 0=done 1=skipped */

§ EXC_RETURN_MODE [2/4]

#define EXC_RETURN_MODE   (0x00000008UL) /* bit [3] processor mode for return: 0=Handler mode 1=Thread mode */

§ EXC_RETURN_SPSEL [2/4]

#define EXC_RETURN_SPSEL   (0x00000004UL) /* bit [2] stack pointer used to restore context: 0=MSP 1=PSP */

§ EXC_RETURN_ES [2/4]

#define EXC_RETURN_ES   (0x00000001UL) /* bit [0] security state exception was taken to: 0=Non-secure 1=Secure */

§ EXC_INTEGRITY_SIGNATURE [2/4]

#define EXC_INTEGRITY_SIGNATURE   (0xFEFA125BUL) /* Value for processors without floating-point extension */

§ _BIT_SHIFT

#define _BIT_SHIFT (   IRQn)    ( ((((uint32_t)(int32_t)(IRQn)) ) & 0x03UL) * 8UL)

§ _SHP_IDX

#define _SHP_IDX (   IRQn)    ( (((((uint32_t)(int32_t)(IRQn)) & 0x0FUL)-8UL) >> 2UL) )

§ _IP_IDX

#define _IP_IDX (   IRQn)    ( (((uint32_t)(int32_t)(IRQn)) >> 2UL) )

§ __NVIC_SetPriorityGrouping

#define __NVIC_SetPriorityGrouping (   X)    (void)(X)

§ __NVIC_GetPriorityGrouping

__STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping (   void)    (0U)

Get Priority Grouping.

Reads the priority grouping field from the NVIC Interrupt Controller.

Returns
Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field).

§ NVIC_SetPriorityGrouping [3/4]

#define NVIC_SetPriorityGrouping   __NVIC_SetPriorityGrouping

§ NVIC_GetPriorityGrouping [3/4]

#define NVIC_GetPriorityGrouping   __NVIC_GetPriorityGrouping

§ NVIC_EnableIRQ [3/4]

#define NVIC_EnableIRQ   __NVIC_EnableIRQ

§ NVIC_GetEnableIRQ [3/4]

#define NVIC_GetEnableIRQ   __NVIC_GetEnableIRQ

§ NVIC_DisableIRQ [3/4]

#define NVIC_DisableIRQ   __NVIC_DisableIRQ

§ NVIC_GetPendingIRQ [3/4]

#define NVIC_GetPendingIRQ   __NVIC_GetPendingIRQ

§ NVIC_SetPendingIRQ [3/4]

#define NVIC_SetPendingIRQ   __NVIC_SetPendingIRQ

§ NVIC_ClearPendingIRQ [3/4]

#define NVIC_ClearPendingIRQ   __NVIC_ClearPendingIRQ

§ NVIC_GetActive [3/4]

#define NVIC_GetActive   __NVIC_GetActive

§ NVIC_SetPriority [3/4]

#define NVIC_SetPriority   __NVIC_SetPriority

§ NVIC_GetPriority [3/4]

#define NVIC_GetPriority   __NVIC_GetPriority

§ NVIC_SystemReset [3/4]

#define NVIC_SystemReset   __NVIC_SystemReset

§ NVIC_SetVector [3/4]

#define NVIC_SetVector   __NVIC_SetVector

§ NVIC_GetVector [3/4]

#define NVIC_GetVector   __NVIC_GetVector

§ NVIC_USER_IRQ_OFFSET [3/4]

#define NVIC_USER_IRQ_OFFSET   16

§ FNC_RETURN [3/4]

#define FNC_RETURN   (0xFEFFFFFFUL) /* bit [0] ignored when processing a branch */

§ EXC_RETURN_PREFIX [3/4]

#define EXC_RETURN_PREFIX   (0xFF000000UL) /* bits [31:24] set to indicate an EXC_RETURN value */

§ EXC_RETURN_S [3/4]

#define EXC_RETURN_S   (0x00000040UL) /* bit [6] stack used to push registers: 0=Non-secure 1=Secure */

§ EXC_RETURN_DCRS [3/4]

#define EXC_RETURN_DCRS   (0x00000020UL) /* bit [5] stacking rules for called registers: 0=skipped 1=saved */

§ EXC_RETURN_FTYPE [3/4]

#define EXC_RETURN_FTYPE   (0x00000010UL) /* bit [4] allocate stack for floating-point context: 0=done 1=skipped */

§ EXC_RETURN_MODE [3/4]

#define EXC_RETURN_MODE   (0x00000008UL) /* bit [3] processor mode for return: 0=Handler mode 1=Thread mode */

§ EXC_RETURN_SPSEL [3/4]

#define EXC_RETURN_SPSEL   (0x00000004UL) /* bit [2] stack pointer used to restore context: 0=MSP 1=PSP */

§ EXC_RETURN_ES [3/4]

#define EXC_RETURN_ES   (0x00000001UL) /* bit [0] security state exception was taken to: 0=Non-secure 1=Secure */

§ EXC_INTEGRITY_SIGNATURE [3/4]

#define EXC_INTEGRITY_SIGNATURE   (0xFEFA125BUL) /* Value for processors without floating-point extension */

§ NVIC_SetPriorityGrouping [4/4]

#define NVIC_SetPriorityGrouping   __NVIC_SetPriorityGrouping

§ NVIC_GetPriorityGrouping [4/4]

#define NVIC_GetPriorityGrouping   __NVIC_GetPriorityGrouping

§ NVIC_EnableIRQ [4/4]

#define NVIC_EnableIRQ   __NVIC_EnableIRQ

§ NVIC_GetEnableIRQ [4/4]

#define NVIC_GetEnableIRQ   __NVIC_GetEnableIRQ

§ NVIC_DisableIRQ [4/4]

#define NVIC_DisableIRQ   __NVIC_DisableIRQ

§ NVIC_GetPendingIRQ [4/4]

#define NVIC_GetPendingIRQ   __NVIC_GetPendingIRQ

§ NVIC_SetPendingIRQ [4/4]

#define NVIC_SetPendingIRQ   __NVIC_SetPendingIRQ

§ NVIC_ClearPendingIRQ [4/4]

#define NVIC_ClearPendingIRQ   __NVIC_ClearPendingIRQ

§ NVIC_GetActive [4/4]

#define NVIC_GetActive   __NVIC_GetActive

§ NVIC_SetPriority [4/4]

#define NVIC_SetPriority   __NVIC_SetPriority

§ NVIC_GetPriority [4/4]

#define NVIC_GetPriority   __NVIC_GetPriority

§ NVIC_SystemReset [4/4]

#define NVIC_SystemReset   __NVIC_SystemReset

§ NVIC_SetVector [4/4]

#define NVIC_SetVector   __NVIC_SetVector

§ NVIC_GetVector [4/4]

#define NVIC_GetVector   __NVIC_GetVector

§ NVIC_USER_IRQ_OFFSET [4/4]

#define NVIC_USER_IRQ_OFFSET   16

§ FNC_RETURN [4/4]

#define FNC_RETURN   (0xFEFFFFFFUL) /* bit [0] ignored when processing a branch */

§ EXC_RETURN_PREFIX [4/4]

#define EXC_RETURN_PREFIX   (0xFF000000UL) /* bits [31:24] set to indicate an EXC_RETURN value */

§ EXC_RETURN_S [4/4]

#define EXC_RETURN_S   (0x00000040UL) /* bit [6] stack used to push registers: 0=Non-secure 1=Secure */

§ EXC_RETURN_DCRS [4/4]

#define EXC_RETURN_DCRS   (0x00000020UL) /* bit [5] stacking rules for called registers: 0=skipped 1=saved */

§ EXC_RETURN_FTYPE [4/4]

#define EXC_RETURN_FTYPE   (0x00000010UL) /* bit [4] allocate stack for floating-point context: 0=done 1=skipped */

§ EXC_RETURN_MODE [4/4]

#define EXC_RETURN_MODE   (0x00000008UL) /* bit [3] processor mode for return: 0=Handler mode 1=Thread mode */

§ EXC_RETURN_SPSEL [4/4]

#define EXC_RETURN_SPSEL   (0x00000004UL) /* bit [2] stack pointer used to restore context: 0=MSP 1=PSP */

§ EXC_RETURN_ES [4/4]

#define EXC_RETURN_ES   (0x00000001UL) /* bit [0] security state exception was taken to: 0=Non-secure 1=Secure */

§ EXC_INTEGRITY_SIGNATURE [4/4]

#define EXC_INTEGRITY_SIGNATURE   (0xFEFA125BUL) /* Value for processors without floating-point extension */

Function Documentation

§ __NVIC_SetPriorityGrouping()

__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.

Parameters
[in]PriorityGroupPriority grouping field.

References SCB, SCB_AIRCR_PRIGROUP_Msk, SCB_AIRCR_PRIGROUP_Pos, SCB_AIRCR_VECTKEY_Msk, and SCB_AIRCR_VECTKEY_Pos.

§ __NVIC_GetPriorityGrouping()

__STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping ( void  )

Get Priority Grouping.

Reads the priority grouping field from the NVIC Interrupt Controller.

Returns
Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field).

References SCB, SCB_AIRCR_PRIGROUP_Msk, and SCB_AIRCR_PRIGROUP_Pos.

§ __NVIC_EnableIRQ()

__STATIC_INLINE void __NVIC_EnableIRQ ( IRQn_Type  IRQn)

Enable Interrupt.

Enables a device specific interrupt in the NVIC interrupt controller.

Parameters
[in]IRQnDevice specific interrupt number.
Note
IRQn must not be negative.

References __COMPILER_BARRIER, and NVIC.

§ __NVIC_GetEnableIRQ()

__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ ( IRQn_Type  IRQn)

Get Interrupt Enable status.

Returns a device specific interrupt enable status from the NVIC interrupt controller.

Parameters
[in]IRQnDevice specific interrupt number.
Returns
0 Interrupt is not enabled.
1 Interrupt is enabled.
Note
IRQn must not be negative.

References NVIC.

§ __NVIC_DisableIRQ()

__STATIC_INLINE void __NVIC_DisableIRQ ( IRQn_Type  IRQn)

Disable Interrupt.

Disables a device specific interrupt in the NVIC interrupt controller.

Parameters
[in]IRQnDevice specific interrupt number.
Note
IRQn must not be negative.

References __DSB(), __ISB(), and NVIC.

§ __NVIC_GetPendingIRQ()

__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ ( IRQn_Type  IRQn)

Get Pending Interrupt.

Reads the NVIC pending register and returns the pending bit for the specified device specific interrupt.

Parameters
[in]IRQnDevice specific interrupt number.
Returns
0 Interrupt status is not pending.
1 Interrupt status is pending.
Note
IRQn must not be negative.

References NVIC.

§ __NVIC_SetPendingIRQ()

__STATIC_INLINE void __NVIC_SetPendingIRQ ( IRQn_Type  IRQn)

Set Pending Interrupt.

Sets the pending bit of a device specific interrupt in the NVIC pending register.

Parameters
[in]IRQnDevice specific interrupt number.
Note
IRQn must not be negative.

References NVIC.

§ __NVIC_ClearPendingIRQ()

__STATIC_INLINE void __NVIC_ClearPendingIRQ ( IRQn_Type  IRQn)

Clear Pending Interrupt.

Clears the pending bit of a device specific interrupt in the NVIC pending register.

Parameters
[in]IRQnDevice specific interrupt number.
Note
IRQn must not be negative.

References NVIC.

§ __NVIC_GetActive()

__STATIC_INLINE uint32_t __NVIC_GetActive ( IRQn_Type  IRQn)

Get Active Interrupt.

Reads the active register in the NVIC and returns the active bit for the device specific interrupt.

Parameters
[in]IRQnDevice specific interrupt number.
Returns
0 Interrupt status is not active.
1 Interrupt status is active.
Note
IRQn must not be negative.

References __STATIC_INLINE, and NVIC.

§ __NVIC_SetPriority()

__STATIC_INLINE void __NVIC_SetPriority ( IRQn_Type  IRQn,
uint32_t  priority 
)

Set Interrupt Priority.

Sets the priority of a device specific interrupt or a processor exception. The interrupt number can be positive to specify a device specific interrupt, or negative to specify a processor exception.

Parameters
[in]IRQnInterrupt number.
[in]priorityPriority to set.
Note
The priority cannot be set for every processor exception.

References __NVIC_PRIO_BITS, NVIC, and SCB.

§ __NVIC_GetPriority()

__STATIC_INLINE uint32_t __NVIC_GetPriority ( IRQn_Type  IRQn)

Get Interrupt Priority.

Reads the priority of a device specific interrupt or a processor exception. The interrupt number can be positive to specify a device specific interrupt, or negative to specify a processor exception.

Parameters
[in]IRQnInterrupt number.
Returns
Interrupt Priority. Value is aligned automatically to the implemented priority bits of the microcontroller.

References __NVIC_PRIO_BITS, NVIC, and SCB.

§ NVIC_EncodePriority()

__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.

Parameters
[in]PriorityGroupUsed priority group.
[in]PreemptPriorityPreemptive priority value (starting from 0).
[in]SubPrioritySubpriority value (starting from 0).
Returns
Encoded priority. Value can be used in the function NVIC_SetPriority().

References __NVIC_PRIO_BITS.

§ NVIC_DecodePriority()

__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.

Parameters
[in]PriorityPriority value, which can be retrieved with the function NVIC_GetPriority().
[in]PriorityGroupUsed priority group.
[out]pPreemptPriorityPreemptive priority value (starting from 0).
[out]pSubPrioritySubpriority value (starting from 0).

References __NVIC_PRIO_BITS.

§ __NVIC_SetVector()

__STATIC_INLINE void __NVIC_SetVector ( IRQn_Type  IRQn,
uint32_t  vector 
)

Set Interrupt Vector.

Sets an interrupt vector in SRAM based interrupt vector table. The interrupt number can be positive to specify a device specific interrupt, or negative to specify a processor exception. VTOR must been relocated to SRAM before.

Parameters
[in]IRQnInterrupt number
[in]vectorAddress of interrupt handler function

Sets an interrupt vector in SRAM based interrupt vector table. The interrupt number can be positive to specify a device specific interrupt, or negative to specify a processor exception. VTOR must been relocated to SRAM before. If VTOR is not present address 0 must be mapped to SRAM.

Parameters
[in]IRQnInterrupt number
[in]vectorAddress of interrupt handler function

References __DSB(), NVIC_USER_IRQ_OFFSET, and SCB.

§ __NVIC_GetVector()

__STATIC_INLINE uint32_t __NVIC_GetVector ( IRQn_Type  IRQn)

Get Interrupt Vector.

Reads an interrupt vector from interrupt vector table. The interrupt number can be positive to specify a device specific interrupt, or negative to specify a processor exception.

Parameters
[in]IRQnInterrupt number.
Returns
Address of interrupt handler function

References NVIC_USER_IRQ_OFFSET, and SCB.

§ __NVIC_SystemReset()

__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset ( void  )