
- •1 About this document
- •1.1 Typographical conventions
- •1.2 List of abbreviations for registers
- •1.3.1 System level interface
- •1.3.2 Integrated configurable debug
- •2 The Cortex-M4 processor
- •2.1 Programmers model
- •2.1.1 Processor mode and privilege levels for software execution
- •2.1.2 Stacks
- •2.1.3 Core registers
- •2.1.4 Exceptions and interrupts
- •2.1.5 Data types
- •2.1.6 The Cortex microcontroller software interface standard (CMSIS)
- •2.2 Memory model
- •2.2.1 Memory regions, types and attributes
- •2.2.2 Memory system ordering of memory accesses
- •2.2.3 Behavior of memory accesses
- •2.2.4 Software ordering of memory accesses
- •2.2.5 Bit-banding
- •2.2.6 Memory endianness
- •2.2.7 Synchronization primitives
- •2.2.8 Programming hints for the synchronization primitives
- •2.3 Exception model
- •2.3.1 Exception states
- •2.3.2 Exception types
- •2.3.3 Exception handlers
- •2.3.4 Vector table
- •2.3.5 Exception priorities
- •2.3.6 Interrupt priority grouping
- •2.3.7 Exception entry and return
- •2.4 Fault handling
- •2.4.1 Fault types
- •2.4.2 Fault escalation and hard faults
- •2.4.3 Fault status registers and fault address registers
- •2.4.4 Lockup
- •2.5 Power management
- •2.5.1 Entering sleep mode
- •2.5.2 Wakeup from sleep mode
- •2.5.3 External event input / extended interrupt and event input
- •2.5.4 Power management programming hints
- •3 The STM32 Cortex-M4 instruction set
- •3.1 Instruction set summary
- •3.2 CMSIS intrinsic functions
- •3.3 About the instruction descriptions
- •3.3.1 Operands
- •3.3.2 Restrictions when using PC or SP
- •3.3.3 Flexible second operand
- •3.3.4 Shift operations
- •3.3.5 Address alignment
- •3.3.7 Conditional execution
- •3.3.8 Instruction width selection
- •3.4 Memory access instructions
- •3.4.2 LDR and STR, immediate offset
- •3.4.3 LDR and STR, register offset
- •3.4.4 LDR and STR, unprivileged
- •3.4.7 PUSH and POP
- •3.4.8 LDREX and STREX
- •3.4.9 CLREX
- •3.5 General data processing instructions
- •3.5.7 MOVT
- •3.5.8 REV, REV16, REVSH, and RBIT
- •3.5.9 SADD16 and SADD8
- •3.5.10 SHADD16 and SHADD8
- •3.5.11 SHASX and SHSAX
- •3.5.12 SHSUB16 and SHSUB8
- •3.5.13 SSUB16 and SSUB8
- •3.5.14 SASX and SSAX
- •3.5.16 UADD16 and UADD8
- •3.5.17 UASX and USAX
- •3.5.18 UHADD16 and UHADD8
- •3.5.19 UHASX and UHSAX
- •3.5.20 UHSUB16 and UHSUB8
- •3.5.22 USAD8
- •3.5.23 USADA8
- •3.5.24 USUB16 and USUB8
- •3.6 Multiply and divide instructions
- •3.6.2 UMULL, UMAAL and UMLAL
- •3.6.3 SMLA and SMLAW
- •3.6.4 SMLAD
- •3.6.5 SMLAL and SMLALD
- •3.6.6 SMLSD and SMLSLD
- •3.6.7 SMMLA and SMMLS
- •3.6.8 SMMUL
- •3.6.9 SMUAD and SMUSD
- •3.6.10 SMUL and SMULW
- •3.6.11 UMULL, UMLAL, SMULL, and SMLAL
- •3.6.12 SDIV and UDIV
- •3.7 Saturating instructions
- •3.7.1 SSAT and USAT
- •3.7.2 SSAT16 and USAT16
- •3.7.3 QADD and QSUB
- •3.7.4 QASX and QSAX
- •3.7.5 QDADD and QDSUB
- •3.7.6 UQASX and UQSAX
- •3.7.7 UQADD and UQSUB
- •3.8 Packing and unpacking instructions
- •3.8.1 PKHBT and PKHTB
- •3.8.3 SXTA and UXTA
- •3.9 Bitfield instructions
- •3.9.2 SBFX and UBFX
- •3.9.4 Branch and control instructions
- •3.9.6 CBZ and CBNZ
- •3.10.1 VABS
- •3.10.2 VADD
- •3.10.3 VCMP, VCMPE
- •3.10.6 VCVTB, VCVTT
- •3.10.7 VDIV
- •3.10.8 VFMA, VFMS
- •3.10.9 VFNMA, VFNMS
- •3.10.10 VLDM
- •3.10.11 VLDR
- •3.10.12 VLMA, VLMS
- •3.10.13 VMOV immediate
- •3.10.14 VMOV register
- •3.10.15 VMOV scalar to Arm core register
- •3.10.16 VMOV Arm core register to single precision
- •3.10.17 VMOV two Arm core registers to two single precision
- •3.10.18 VMOV Arm Core register to scalar
- •3.10.19 VMRS
- •3.10.20 VMSR
- •3.10.21 VMUL
- •3.10.22 VNEG
- •3.10.23 VNMLA, VNMLS, VNMUL
- •3.10.24 VPOP
- •3.10.25 VPUSH
- •3.10.26 VSQRT
- •3.10.27 VSTM
- •3.10.28 VSTR
- •3.10.29 VSUB
- •3.11 Miscellaneous instructions
- •3.11.1 BKPT
- •4 Core peripherals
- •4.2 Memory protection unit (MPU)
- •4.2.1 MPU access permission attributes
- •4.2.2 MPU mismatch
- •4.2.3 Updating an MPU region
- •4.2.4 MPU design hints and tips
- •4.2.5 MPU type register (MPU_TYPER)
- •4.2.6 MPU control register (MPU_CTRL)
- •4.2.7 MPU region number register (MPU_RNR)
- •4.2.8 MPU region base address register (MPU_RBAR)
- •4.2.9 MPU region attribute and size register (MPU_RASR)
- •4.2.10 MPU register map
- •4.3 Nested vectored interrupt controller (NVIC)
- •4.3.6 Interrupt active bit register x (NVIC_IABRx)
- •4.3.7 Interrupt priority register x (NVIC_IPRx)
- •4.3.8 Software trigger interrupt register (NVIC_STIR)
- •4.3.10 NVIC design hints and tips
- •4.3.11 NVIC register map
- •4.4 System control block (SCB)
- •4.4.1 Auxiliary control register (ACTLR)
- •4.4.2 CPUID base register (CPUID)
- •4.4.3 Interrupt control and state register (ICSR)
- •4.4.4 Vector table offset register (VTOR)
- •4.4.5 Application interrupt and reset control register (AIRCR)
- •4.4.6 System control register (SCR)
- •4.4.7 Configuration and control register (CCR)
- •4.4.8 System handler priority registers (SHPRx)
- •4.4.9 System handler control and state register (SHCSR)
- •4.4.10 Configurable fault status register (CFSR; UFSR+BFSR+MMFSR)
- •4.4.11 Usage fault status register (UFSR)
- •4.4.12 Bus fault status register (BFSR)
- •4.4.13 Memory management fault address register (MMFSR)
- •4.4.14 Hard fault status register (HFSR)
- •4.4.15 Memory management fault address register (MMFAR)
- •4.4.16 Bus fault address register (BFAR)
- •4.4.17 Auxiliary fault status register (AFSR)
- •4.4.18 System control block design hints and tips
- •4.4.19 SCB register map
- •4.5 SysTick timer (STK)
- •4.5.1 SysTick control and status register (STK_CTRL)
- •4.5.2 SysTick reload value register (STK_LOAD)
- •4.5.3 SysTick current value register (STK_VAL)
- •4.5.4 SysTick calibration value register (STK_CALIB)
- •4.5.5 SysTick design hints and tips
- •4.5.6 SysTick register map
- •4.6 Floating point unit (FPU)
- •4.6.1 Coprocessor access control register (CPACR)
- •4.6.6 Enabling the FPU
- •4.6.7 Enabling and clearing FPU exception interrupts
- •5 Revision history

Core peripherals |
PM0214 |
|
|
4.3Nested vectored interrupt controller (NVIC)
This section describes the Nested Vectored Interrupt Controller (NVIC) and the registers it uses. The NVIC supports:
•Up to 240 interrupts
•A programmable priority level of 0-15 for each interrupt. A higher level corresponds to a lower priority, so level 0 is the highest interrupt priority
•Level and pulse detection of interrupt signals
•Dynamic reprioritization of interrupts
•Grouping of priority values into group priority and subpriority fields
•Interrupt tail-chaining
•An external Non-maskable interrupt (NMI)
The processor automatically stacks its state on exception entry and unstacks this state on exception exit, with no instruction overhead. This provides low latency exception handling. The hardware implementation of the NVIC registers is:
Table 45. NVIC register summary
Address |
|
Name |
Type |
Required |
Reset value |
Description |
|
privilege |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0xE000E100- |
NVIC_ISER0- |
RW |
Privileged |
0x00000000 |
Table 4.3.2: Interrupt set-enable register x |
|
0xE000E11F |
|
NVIC_ISER7 |
(NVIC_ISERx) on page 210 |
|||
|
|
|
|
|
|
|
0XE000E180- |
NVIC_ICER0- |
RW |
Privileged |
0x00000000 |
Table 4.3.3: Interrupt clear-enable register x |
|
0xE000E19F |
|
NVIC_ICER7 |
(NVIC_ICERx) on page 211 |
|||
|
|
|
|
|
|
|
0XE000E200- |
NVIC_ISPR0- |
RW |
Privileged |
0x00000000 |
Table 4.3.4: Interrupt set-pending register x |
|
0xE000E21F |
|
NVIC_ISPR7 |
|
|
|
(NVIC_ISPRx) on page 212 |
0XE000E280- |
NVIC_ICPR0- |
RW |
Privileged |
0x00000000 |
Table 4.3.5: Interrupt clear-pending register x |
|
0xE000E29F |
|
NVIC_ICPR7 |
(NVIC_ICPRx) on page 213 |
|||
|
|
|
|
|
|
|
0xE000E300- |
NVIC_IABR0- |
RW |
Privileged |
0x00000000 |
Table 4.3.6: Interrupt active bit register x |
|
0xE000E31F |
|
NVIC_IABR7 |
(NVIC_IABRx) on page 214 |
|||
|
|
|
|
|
|
|
0xE000E400- |
NVIC_IPR0- |
RW |
Privileged |
0x00000000 |
Table 4.3.7: Interrupt priority register x |
|
0xE000E4EF |
|
NVIC_IPR59 |
|
|
|
(NVIC_IPRx) on page 215 |
0xE000EF00 |
|
STIR |
WO |
Configurable |
0x00000000 |
Table 4.3.8: Software trigger interrupt register |
|
|
|
|
|
|
(NVIC_STIR) on page 216 |
Note: |
The number of interrupts is product-dependent. Refer to reference manual/datasheet of |
|||||
|
relevant STM32 product for related information. |
|
208/262 |
PM0214 Rev 10 |

PM0214 |
Core peripherals |
|
|
4.3.1Accessing the Cortex-M4 NVIC registers using CMSIS
CMSIS functions enable software portability between different Cortex-M profile processors. To access the NVIC registers when using CMSIS, use the following functions:
Table 46. CMSIS access NVIC functions
CMSIS function(1) |
Description |
|
void NVIC_EnableIRQ(IRQn_Type IRQn) |
Enables an interrupt or exception. |
|
|
|
|
void NVIC_DisableIRQ(IRQn_Type IRQn) |
Disables an interrupt or exception. |
|
|
|
|
void NVIC_SetPendingIRQ(IRQn_Type IRQn) |
Sets the pending status of interrupt or |
|
exception to 1. |
||
|
||
|
|
|
void NVIC_ClearPendingIRQ(IRQn_Type IRQn) |
Clears the pending status of interrupt or |
|
exception to 0. |
||
|
||
|
|
|
|
Reads the pending status of interrupt or |
|
uint32_t NVIC_GetPendingIRQ(IRQn_Type IRQn) |
exception. This function returns non- |
|
zero value if the pending status is set to |
||
|
||
|
1. |
|
|
|
|
|
Sets the priority of an interrupt or |
|
void NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) |
exception with configurable priority level |
|
|
to 1. |
|
|
|
|
|
Reads the priority of an interrupt or |
|
uint32_t NVIC_GetPriority(IRQn_Type IRQn) |
exception with configurable priority |
|
level. This function return the current |
||
|
||
|
priority level. |
|
|
|
1.The input parameter IRQn is the IRQ number. Possible “n” values depend on product. Refer to reference manual/datasheet of relevant STM32 product for related information.
PM0214 Rev 10 |
209/262 |

Core peripherals |
PM0214 |
|
|
4.3.2Interrupt set-enable register x (NVIC_ISERx)
Address offset: 0x100 + 0x04 * x, (x = 0 to 7) Reset value: 0x0000 0000
Required privilege: Privileged
NVIC_ISER0 bits 0 to 31 are for interrupt 0 to 31, respectively NVIC_ISER1 bits 0 to 31 are for interrupt 32 to 63, respectively
....
NVIC_ISER6 bits 0 to 31 are for interrupt 192 to 223, respectively NVIC_ISER7 bits 0 to 15 are for interrupt 224 to 239, respectively
31 |
30 |
29 |
28 |
27 |
|
26 |
|
25 |
24 |
23 |
|
22 |
21 |
20 |
|
19 |
18 |
17 |
|
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SETENA[31:16] |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rs |
rs |
|
rs |
rs |
rs |
|
rs |
|
rs |
rs |
rs |
|
rs |
rs |
rs |
|
rs |
rs |
rs |
|
rs |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
14 |
13 |
12 |
11 |
|
10 |
|
9 |
8 |
7 |
|
6 |
5 |
4 |
|
3 |
2 |
1 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SETENA[15:0] |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rs |
rs |
|
rs |
rs |
rs |
|
rs |
|
rs |
rs |
rs |
|
rs |
rs |
rs |
|
rs |
rs |
rs |
|
rs |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
Bits 31:0 |
SETENA: Interrupt set-enable bits. |
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
Write: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0: No effect |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
1: Enable interrupt |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
Read: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0: Interrupt disabled |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
1: Interrupt enabled. |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
If a pending interrupt is enabled, the NVIC activates the interrupt based on its priority. If an |
|||||||||||||||||
|
|
|
|
interrupt is not enabled, asserting its interrupt signal changes the interrupt state to pending, |
|||||||||||||||||
|
|
|
|
but the NVIC never activates the interrupt, regardless of its priority. |
|
|
|
|
|
||||||||||||
|
|
|
|
Bits 16 to 31 of the NVIC_ISER7 register are reserved. |
|
|
|
|
|
|
|
||||||||||
Note: |
|
|
The number of interrupts is product-dependent. Refer to reference manual/datasheet of |
|
|||||||||||||||||
|
|
|
relevant STM32 product for related information. |
|
|
|
|
|
|
|
|
|
210/262 |
PM0214 Rev 10 |

PM0214 |
Core peripherals |
|
|
4.3.3Interrupt clear-enable register x (NVIC_ICERx)
Address offset: 0x180 + 0x04 * x, (x = 0 to 7) Reset value: 0x0000 0000
Required privilege: Privileged
NVIC_ICER0 bits 0 to 31 are for interrupt 0 to 31, respectively NVIC_ICER1 bits 0 to 31 are for interrupt 32 to 63, respectively
....
NVIC_ICER6 bits 0 to 31 are for interrupt 192 to 223, respectively NVIC_ICER7 bits 0 to 15 are for interrupt 224 to 239, respectively
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CLRENA[31:16] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CLRENA[15:0] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bits 31:0 CLRENA: Interrupt clear-enable bits.
Write:
0:No effect
1:Disable interrupt
Read:
0:Interrupt disabled
1:Interrupt enabled.
Bits 16 to 31 of the NVIC_ICER7 register are reserved.
Note: |
The number of interrupts is product-dependent. Refer to reference manual/datasheet of |
|
relevant STM32 product for related information. |
PM0214 Rev 10 |
211/262 |

Core peripherals |
PM0214 |
|
|
4.3.4Interrupt set-pending register x (NVIC_ISPRx)
Address offset: 0x200 + 0x04 * x, (x = 0 to 7) Reset value: 0x0000 0000
Required privilege: Privileged
NVIC_ISPR0 bits 0 to 31 are for interrupt 0 to 31, respectively NVIC_ISPR1 bits 0 to 31 are for interrupt 32 to 63, respectively
....
NVIC_ISPR6 bits 0 to 31 are for interrupt 192 to 223, respectively NVIC_ISPR7 bits 0 to 15 are for interrupt 224 to 239, respectively
31 |
30 |
29 |
28 |
|
27 |
|
26 |
25 |
|
24 |
|
23 |
|
22 |
21 |
20 |
19 |
18 |
17 |
|
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SETPEND[31:16] |
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rs |
rs |
|
rs |
rs |
|
rs |
|
rs |
rs |
|
rs |
|
rs |
|
rs |
rs |
rs |
rs |
rs |
rs |
|
rs |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
14 |
13 |
12 |
|
11 |
|
10 |
9 |
|
8 |
|
7 |
|
6 |
5 |
4 |
3 |
2 |
1 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SETPEND[15:0] |
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rs |
rs |
|
rs |
rs |
|
rs |
|
rs |
rs |
|
rs |
|
rs |
|
rs |
rs |
rs |
rs |
rs |
rs |
|
rs |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
Bits 31:0 |
SETPEND: Interrupt set-pending bits |
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
Write: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0: No effect |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
1: Changes interrupt state to pending |
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
Read: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0: Interrupt is not pending |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
1: Interrupt is pending |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
Writing 1 to the ISPR bit corresponding to an interrupt that is pending has no effect. |
|
|||||||||||||||||
|
|
|
|
Writing 1 to the ISPR bit corresponding to a disabled interrupt sets the state of that interrupt to |
||||||||||||||||||
|
|
|
|
pending. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
Bits 16 to 31 of the NVIC_ISPR7 register are reserved. |
|
|
|
|
|
|
||||||||||||
Note: |
|
|
The number of interrupts is product-dependent. Refer to reference manual/datasheet of |
|
||||||||||||||||||
|
|
|
relevant STM32 product for related information. |
|
|
|
|
|
|
|
|
212/262 |
PM0214 Rev 10 |

PM0214 |
Core peripherals |
|
|
4.3.5Interrupt clear-pending register x (NVIC_ICPRx)
Address offset: 0x280 + 0x04 * x, (x = 0 to 7) Reset value: 0x0000 0000
Required privilege: Privileged
NVIC_ICPR0 bits 0 to 31 are for interrupt 0 to 31, respectively NVIC_ICPR1 bits 0 to 31 are for interrupt 32 to 63, respectively
....
NVIC_ICPR6 bits 0 to 31 are for interrupt 192 to 223, respectively NVIC_ICPR7 bits 0 to 15 are for interrupt 224 to 239, respectively
31 |
30 |
29 |
28 |
27 |
|
26 |
25 |
24 |
23 |
|
22 |
21 |
20 |
19 |
18 |
17 |
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CLRPEND[31:16] |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
|
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
|
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
14 |
13 |
12 |
11 |
|
10 |
9 |
8 |
7 |
|
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CLRPEND[15:0] |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
rc_w1 |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bits 31:0 |
CLRPEND: Interrupt clear-pending bits |
|
|
|
|
|
|
|
||||||||
|
|
|
Write: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0: No effect |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
1: Removes the pending state of an interrupt |
|
|
|
|
|
|
||||||||
|
|
|
Read: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0: Interrupt is not pending |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
1: Interrupt is pending |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
Writing 1 to an ICPR bit does not affect the active state of the corresponding interrupt. |
|
|||||||||||||
|
|
|
Bits 16 to 31 of the NVIC_ICPR7 register are reserved. |
|
|
|
|
|
|||||||||
Note: |
|
The number of interrupts is product-dependent. Refer to reference manual/datasheet of |
|||||||||||||||
|
|
relevant STM32 product for related information. |
|
|
|
|
|
|
PM0214 Rev 10 |
213/262 |