## EXTI
外部中断
STM32F103ZET6 正点原子

PA0 Wakeup KEY_UP  外接3.3  pulldown
PE2	KEY2   外接3.3  pulldown
PE3	KEY1 外接地  pullup
PE3	KEY1
PE4	KEY0


#### exti.h .c

```C
void MX_EXTI_Init(void);
void EXTI0_IRQHandler(void);
void EXTI2_IRQHandler(void);
void EXTI3_IRQHandler(void);
void EXTI4_IRQHandler(void);

// 主要为配置模式不同，中断 上升沿
  GPIO_InitStruct.Pin = KEY2_Pin|KEY1_Pin|KEY0_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);

  HAL_NVIC_SetPriority(EXTI0_IRQn, 0, 0);
  HAL_NVIC_EnableIRQ(EXTI0_IRQn);
```
 
```C
void EXTI0_IRQHandler(void)
{
  HAL_GPIO_EXTI_IRQHandler(KEY_UP_Pin);
}
```

#### main.c
调用  MX_EXTI_Init（）  初始化

####  回调

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin){
    if(GPIO_Pin == KEY_UP_Pin){/* KEY */
        /* 翻转LED */
		DS0_Toggle();

    }
}  

#### 加入makefile 
exti.c