EXTI - регистры внешних прерываний микроконтроллера STM32F10x


Offset: 0x00
Interrupt mask register
Регистр маскировки прерываний
Offset: 0x04
Event mask register
Регистр маскировки событий
Offset: 0x08
Rising trigger selection register
Регистр выбора нарастающего фронта
Offset: 0x0C
Falling trigger selection register
Регистр выбора спадающего фронта
Offset: 0x10
Software interrupt event register
Регистр программного вызова прерывания
Offset: 0x14
Pending register
Регистр флага события на линии


//-  stm32f10x.h

#define PERIPH_BASE         ((uint32_t)0x40000000)      /* Peripheral base address in the alias region */
#define APB2PERIPH_BASE     (PERIPH_BASE + 0x10000)
#define EXTI_BASE           (APB2PERIPH_BASE + 0x0400)
#define EXTI                ((EXTI_TypeDef *) EXTI_BASE)


typedef struct
{
  __IO uint32_t IMR;
  __IO uint32_t EMR;
  __IO uint32_t RTSR;
  __IO uint32_t FTSR;
  __IO uint32_t SWIER;
  __IO uint32_t PR;
} EXTI_TypeDef;


EXTI0_IRQn      = 6,      /* EXTI Line0 Interrupt                                 */
EXTI1_IRQn      = 7,      /* EXTI Line1 Interrupt                                 */
EXTI2_IRQn      = 8,      /* EXTI Line2 Interrupt                                 */
EXTI3_IRQn      = 9,      /* EXTI Line3 Interrupt                                 */
EXTI4_IRQn      = 10,     /* EXTI Line4 Interrupt                                 */
EXTI9_5_IRQn    = 23,     /* External Line[9:5] Interrupts                        */
EXTI15_10_IRQn  = 40,     /* External Line[15:10] Interrupts                      */
ETH_WKUP_IRQn   = 62,     /* Ethernet Wakeup through EXTI line Interrupt - только для CL-устройств  */