主要程序节选如下: 主函数: { GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource9);
/* Configure EXTI Line9 to generate an interrupt on falling edge */ EXTI_InitStructure.EXTI_Line = EXTI_Line9; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure);
/* Generate software interrupt: simulate a falling edge applied on EXTI line 9 */ EXTI_GenerateSWInterrupt(EXTI_Line9); while (1)} 中断函数: {void EXTI9_5_IRQHandler(void)
if(EXTI_GetITStatus(EXTI_Line9) != RESET) { /* Toggle PC6 pin */ GPIO_WriteBit(GPIOC, GPIO_Pin_6, (BitAction)((1-GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_6))));
/* Clear the EXTI line 9 pending bit */ EXTI_ClearITPendingBit(EXTI_Line9); } } 还是贴出来 软件调试时使PB_9口产生下降沿触发 却进不了中断 自己还在埋头苦干中 谢谢版主的帮助
|