void EXTI4_Init(void) { GPIO_InitTypeDef GPIO_Initure; __HAL_RCC_GPIOE_CLK_ENABLE (); GPIO_Initure.Pin =GPIO_PIN_4; GPIO_Initure.Mode =GPIO_MODE_IT_FALLING; GPIO_Initure.Pull =GPIO_PULLUP; GPIO_Initure.Speed =GPIO_SPEED_FAST; HAL_GPIO_Init (GPIOF,&GPIO_Initure); HAL_NVIC_SetPriority(EXTI4_IRQn,0,0); HAL_NVIC_EnableIRQ (EXTI4_IRQn); delay_ms(1500); HAL_GPIO_WritePin (GPIOF,GPIO_PIN_9,GPIO_PIN_SET);
}
void EXTI4_IRQHandler(void) { HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_4); }
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_PIN) { if(GPIO_PIN & GPIO_PIN_4) { delay_ms(20); if(HAL_GPIO_ReadPin (GPIOE,GPIO_PIN_4)==0) HAL_GPIO_TogglePin (GPIOF,GPIO_PIN_9|GPIO_PIN_10); }
}
int main(void) { Stm32_Clock_Init (168,4,2,7); HAL_Init() ; delay_init(168); uart_init(115200); LED_Init(); EXTI4_Init(); while(1) { ; } }
|