Interrupt mask register (EXTI_IMR)

Регистр маскировки прерываний

Смещение (Address offset): 0x00

Reset value: 0x0000'0000

3130292827262524
Reserved
---
00000000
2322212019181716
Reserved MR19 MR18 MR17 MR16
---rwrwrwrw
00000000


15141312111098
MR15 MR14 MR13 MR12 MR11 MR10 MR9 MR8
rwrwrwrwrwrwrwrw
00000000
76543210
MR7 MR6 MR5 MR4 MR3 MR2 MR1 MR0
rwrwrwrwrwrwrwrw
00000000


Bits 31:20
Reserved
Must be kept at reset value
Зарезервировано. Должно быть сохранено значение после сброса
Bits 19:0
MRx
Interrupt Mask on line X
Маска прерывания на линии X

 0 :  запрос прерывания от линии X запрещен (замаскирован)

 1 :  разрешает запрос на прерывание от линии X

После сброса все прерывания запрещены (замаскированы). Единица в соответствующем бите этого регистра разрешает прерывание.

Бит 19 используется только в CL-устройствах (Connectivity Line).



//- stm32f10x.h

/*******************  Bit definition for EXTI_IMR register  *******************/

#define  EXTI_IMR_MR0          ((uint32_t)0x00000001)        /* Interrupt Mask on line 0 */
#define  EXTI_IMR_MR1          ((uint32_t)0x00000002)        /* Interrupt Mask on line 1 */
#define  EXTI_IMR_MR2          ((uint32_t)0x00000004)        /* Interrupt Mask on line 2 */

#define  EXTI_IMR_MR3          ((uint32_t)0x00000008)        /* Interrupt Mask on line 3 */
#define  EXTI_IMR_MR4          ((uint32_t)0x00000010)        /* Interrupt Mask on line 4 */
#define  EXTI_IMR_MR5          ((uint32_t)0x00000020)        /* Interrupt Mask on line 5 */

#define  EXTI_IMR_MR6          ((uint32_t)0x00000040)        /* Interrupt Mask on line 6 */
#define  EXTI_IMR_MR7          ((uint32_t)0x00000080)        /* Interrupt Mask on line 7 */
#define  EXTI_IMR_MR8          ((uint32_t)0x00000100)        /* Interrupt Mask on line 8 */

#define  EXTI_IMR_MR9          ((uint32_t)0x00000200)        /* Interrupt Mask on line 9 */
#define  EXTI_IMR_MR10         ((uint32_t)0x00000400)        /* Interrupt Mask on line 10 */
#define  EXTI_IMR_MR11         ((uint32_t)0x00000800)        /* Interrupt Mask on line 11 */

#define  EXTI_IMR_MR12         ((uint32_t)0x00001000)        /* Interrupt Mask on line 12 */
#define  EXTI_IMR_MR13         ((uint32_t)0x00002000)        /* Interrupt Mask on line 13 */
#define  EXTI_IMR_MR14         ((uint32_t)0x00004000)        /* Interrupt Mask on line 14 */

#define  EXTI_IMR_MR15         ((uint32_t)0x00008000)        /* Interrupt Mask on line 15 */
#define  EXTI_IMR_MR16         ((uint32_t)0x00010000)        /* Interrupt Mask on line 16 */
#define  EXTI_IMR_MR17         ((uint32_t)0x00020000)        /* Interrupt Mask on line 17 */

#define  EXTI_IMR_MR18         ((uint32_t)0x00040000)        /* Interrupt Mask on line 18 */
#define  EXTI_IMR_MR19         ((uint32_t)0x00080000)        /* Interrupt Mask on line 19 */