Event mask register (EXTI_EMR)

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

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

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
Event mask on line X
Маска события на линии X

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

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

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

В отличие от прерывания, событие только устанавливает флаг, который быть может обнаружен некоторыми периферийными устройствами. Запрос на прерывание (при наличии маски/запрета на прерывание) сформирован не будет.

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



//- stm32f10x.h

/*******************  Bit definition for EXTI_EMR register  *******************/
#define  EXTI_EMR_MR0        ((uint32_t)0x00000001)        /* Event Mask on line 0 */
#define  EXTI_EMR_MR1        ((uint32_t)0x00000002)        /* Event Mask on line 1 */
#define  EXTI_EMR_MR2        ((uint32_t)0x00000004)        /* Event Mask on line 2 */

#define  EXTI_EMR_MR3        ((uint32_t)0x00000008)        /* Event Mask on line 3 */
#define  EXTI_EMR_MR4        ((uint32_t)0x00000010)        /* Event Mask on line 4 */
#define  EXTI_EMR_MR5        ((uint32_t)0x00000020)        /* Event Mask on line 5 */

#define  EXTI_EMR_MR6        ((uint32_t)0x00000040)        /* Event Mask on line 6 */
#define  EXTI_EMR_MR7        ((uint32_t)0x00000080)        /* Event Mask on line 7 */
#define  EXTI_EMR_MR8        ((uint32_t)0x00000100)        /* Event Mask on line 8 */

#define  EXTI_EMR_MR9        ((uint32_t)0x00000200)        /* Event Mask on line 9 */
#define  EXTI_EMR_MR10       ((uint32_t)0x00000400)        /* Event Mask on line 10 */
#define  EXTI_EMR_MR11       ((uint32_t)0x00000800)        /* Event Mask on line 11 */

#define  EXTI_EMR_MR12       ((uint32_t)0x00001000)        /* Event Mask on line 12 */
#define  EXTI_EMR_MR13       ((uint32_t)0x00002000)        /* Event Mask on line 13 */
#define  EXTI_EMR_MR14       ((uint32_t)0x00004000)        /* Event Mask on line 14 */

#define  EXTI_EMR_MR15       ((uint32_t)0x00008000)        /* Event Mask on line 15 */
#define  EXTI_EMR_MR16       ((uint32_t)0x00010000)        /* Event Mask on line 16 */
#define  EXTI_EMR_MR17       ((uint32_t)0x00020000)        /* Event Mask on line 17 */

#define  EXTI_EMR_MR18       ((uint32_t)0x00040000)        /* Event Mask on line 18 */
#define  EXTI_EMR_MR19       ((uint32_t)0x00080000)        /* Event Mask on line 19 */