不含stm32 底层的代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
MyStm32Code/DOC/06_EXTI.md

1003 B

EXTI

外部中断 STM32F103ZET6 正点原子

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

exti.h .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);
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