CMSIS2000  0.0.7
 Указатель Структуры данных Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Макросы Группы Страницы
NVIC Functions

Functions that manage interrupts and exceptions via the NVIC. Подробнее...

Граф связей класса NVIC Functions:

Макросы

#define _BIT_SHIFT(IRQn)   ( (((uint32_t)(IRQn) ) & 0x03) * 8 )
#define _BIT_SHIFT(IRQn)   ( (((uint32_t)(IRQn) ) & 0x03) * 8 )
#define _BIT_SHIFT(IRQn)   ( (((uint32_t)(IRQn) ) & 0x03) * 8 )
#define _IP_IDX(IRQn)   ( ((uint32_t)(IRQn) >> 2) )
#define _IP_IDX(IRQn)   ( ((uint32_t)(IRQn) >> 2) )
#define _IP_IDX(IRQn)   ( ((uint32_t)(IRQn) >> 2) )
#define _SHP_IDX(IRQn)   ( ((((uint32_t)(IRQn) & 0x0F)-8) >> 2) )
#define _SHP_IDX(IRQn)   ( ((((uint32_t)(IRQn) & 0x0F)-8) >> 2) )
#define _SHP_IDX(IRQn)   ( ((((uint32_t)(IRQn) & 0x0F)-8) >> 2) )

Функции

__STATIC_INLINE void NVIC_ClearPendingIRQ (IRQn_Type IRQn)
 Clear Pending Interrupt.
__STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t *pPreemptPriority, uint32_t *pSubPriority)
 Decode Priority.
__STATIC_INLINE void NVIC_DisableIRQ (IRQn_Type IRQn)
 Disable External Interrupt.
__STATIC_INLINE void NVIC_EnableIRQ (IRQn_Type IRQn)
 Enable External Interrupt.
__STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority)
 Encode Priority.
__STATIC_INLINE uint32_t NVIC_GetActive (IRQn_Type IRQn)
 Get Active Interrupt.
__STATIC_INLINE uint32_t NVIC_GetPendingIRQ (IRQn_Type IRQn)
 Get Pending Interrupt.
__STATIC_INLINE uint32_t NVIC_GetPriority (IRQn_Type IRQn)
 Get Interrupt Priority.
__STATIC_INLINE uint32_t NVIC_GetPriorityGrouping (void)
 Get Priority Grouping.
__STATIC_INLINE void NVIC_SetPendingIRQ (IRQn_Type IRQn)
 Set Pending Interrupt.
__STATIC_INLINE void NVIC_SetPriority (IRQn_Type IRQn, uint32_t priority)
 Set Interrupt Priority.
__STATIC_INLINE void NVIC_SetPriorityGrouping (uint32_t PriorityGroup)
 Set Priority Grouping.
__STATIC_INLINE void NVIC_SystemReset (void)
 System Reset.

Подробное описание

Functions that manage interrupts and exceptions via the NVIC.

Макросы

#define _BIT_SHIFT (   IRQn)    ( (((uint32_t)(IRQn) ) & 0x03) * 8 )

См. определение в файле core_cm0.h строка 489

Используется в NVIC_GetPriority() и NVIC_SetPriority().

#define _BIT_SHIFT (   IRQn)    ( (((uint32_t)(IRQn) ) & 0x03) * 8 )

См. определение в файле core_cm0plus.h строка 600

#define _BIT_SHIFT (   IRQn)    ( (((uint32_t)(IRQn) ) & 0x03) * 8 )

См. определение в файле core_sc000.h строка 620

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

См. определение в файле core_cm0.h строка 491

Используется в NVIC_GetPriority() и NVIC_SetPriority().

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

См. определение в файле core_cm0plus.h строка 602

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

См. определение в файле core_sc000.h строка 622

#define _SHP_IDX (   IRQn)    ( ((((uint32_t)(IRQn) & 0x0F)-8) >> 2) )

См. определение в файле core_cm0.h строка 490

Используется в NVIC_GetPriority() и NVIC_SetPriority().

#define _SHP_IDX (   IRQn)    ( ((((uint32_t)(IRQn) & 0x0F)-8) >> 2) )

См. определение в файле core_cm0plus.h строка 601

#define _SHP_IDX (   IRQn)    ( ((((uint32_t)(IRQn) & 0x0F)-8) >> 2) )

См. определение в файле core_sc000.h строка 621

Функции

__STATIC_INLINE void NVIC_ClearPendingIRQ ( IRQn_Type  IRQn)

Clear Pending Interrupt.

The function clears the pending bit of an external interrupt.

Аргументы
[in]IRQnExternal interrupt number. Value cannot be negative.

См. определение в файле core_cm0.h строка 552

Перекрестные ссылки NVIC.

__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 samllest possible priority group is set.

Аргументы
[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).

См. определение в файле core_cm3.h строка 1460

Перекрестные ссылки __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]IRQnExternal interrupt number. Value cannot be negative.

См. определение в файле core_cm0.h строка 512

Перекрестные ссылки NVIC.

__STATIC_INLINE void NVIC_EnableIRQ ( IRQn_Type  IRQn)

Enable External Interrupt.

The function enables a device-specific interrupt in the NVIC interrupt controller.

Аргументы
[in]IRQnExternal interrupt number. Value cannot be negative.

См. определение в файле core_cm0.h строка 500

__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 samllest possible priority group is set.

Аргументы
[in]PriorityGroupUsed priority group.
[in]PreemptPriorityPreemptive priority value (starting from 0).
[in]SubPrioritySubpriority value (starting from 0).
Возвращает
Encoded priority. Value can be used in the function NVIC_SetPriority().

См. определение в файле core_cm3.h строка 1432

Перекрестные ссылки __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]IRQnInterrupt number.
Возвращает
0 Interrupt status is not active.
1 Interrupt status is active.

См. определение в файле core_cm3.h строка 1375

Перекрестные ссылки 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]IRQnInterrupt number.
Возвращает
0 Interrupt status is not pending.
1 Interrupt status is pending.

См. определение в файле core_cm0.h строка 528

Перекрестные ссылки 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]IRQnInterrupt number.
Возвращает
Interrupt Priority. Value is aligned automatically to the implemented priority bits of the microcontroller.

См. определение в файле core_cm0.h строка 589

Перекрестные ссылки __NVIC_PRIO_BITS, _BIT_SHIFT, _IP_IDX, _SHP_IDX, NVIC и SCB.

__STATIC_INLINE uint32_t NVIC_GetPriorityGrouping ( void  )

Get Priority Grouping.

The function reads the priority grouping field from the NVIC Interrupt Controller.

Возвращает
Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field).

См. определение в файле core_cm3.h строка 1296

Перекрестные ссылки SCB, SCB_AIRCR_PRIGROUP_Msk и 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]IRQnInterrupt number. Value cannot be negative.

См. определение в файле core_cm0.h строка 540

Перекрестные ссылки NVIC.

__STATIC_INLINE void NVIC_SetPriority ( IRQn_Type  IRQn,
uint32_t  priority 
)

Set Interrupt Priority.

The function sets the priority of an interrupt.

Заметки
The priority cannot be set for every core interrupt.
Аргументы
[in]IRQnInterrupt number.
[in]priorityPriority to set.

См. определение в файле core_cm0.h строка 567

Перекрестные ссылки __NVIC_PRIO_BITS, _BIT_SHIFT, _IP_IDX, _SHP_IDX, NVIC и SCB.

Используется в 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]PriorityGroupPriority grouping field.

См. определение в файле core_cm3.h строка 1276

Перекрестные ссылки SCB, SCB_AIRCR_PRIGROUP_Msk, SCB_AIRCR_VECTKEY_Msk и SCB_AIRCR_VECTKEY_Pos.

__STATIC_INLINE void NVIC_SystemReset ( void  )

System Reset.

The function initiates a system reset request to reset the MCU.

См. определение в файле core_cm0.h строка 603

Перекрестные ссылки SCB, SCB_AIRCR_SYSRESETREQ_Msk и SCB_AIRCR_VECTKEY_Pos.