STM32 外部中断源无法定位
下面是我写的测试代码void EXTI_Config(void)
{
EXTI_InitTypeDef EXTI_InitStructure;
GPIO_EXTILineConfig(GPIO_PortSourceGPIOE, GPIO_PinSource10 );
GPIO_EXTILineConfig(GPIO_PortSourceGPIOE, GPIO_PinSource11 );
GPIO_EXTILineConfig(GPIO_PortSourceGPIOE, GPIO_PinSource12 );
GPIO_EXTILineConfig(GPIO_PortSourceGPIOE, GPIO_PinSource13 );
GPIO_EXTILineConfig(GPIO_PortSourceGPIOE, GPIO_PinSource14 );
GPIO_EXTILineConfig(GPIO_PortSourceGPIOE, GPIO_PinSource15 );
EXTI_InitStructure.EXTI_Line = EXTI_Line10 | EXTI_Line11| EXTI_Line12 | EXTI_Line13| EXTI_Line14 | EXTI_Line15;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
// EXTI_InitTypeDef EXTI_InitStructure;
GPIO_EXTILineConfig(GPIO_PortSourceGPIOE, GPIO_PinSource2 );
EXTI_InitStructure.EXTI_Line = EXTI_Line2;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
}
void EXTI2_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line2)!=RESET)
{
EXTI_ClearITPendingBit(EXTI_Line2);
EXTI_ClearFlag(EXTI_Line2);
ZD1_Flag=1;
}
}
代码老进去中断2 ,我看了下好像是串口2发射引起的,可是我已经设置串口源是GPIO_E2了啊(GPIO_EXTILineConfig(GPIO_PortSourceGPIOE, GPIO_PinSource2 )),不明白怎么回事 请高手指教 没看懂你的问题,你定义了EXIT2,结果程序每次都进入了对应的中断,这个逻辑上有什么问题呢?让你这么纠结? 进入中断的原因不是 GPIOE_Pin2产生的,而是GPIOA_Pin2 产生的,A2 为串口的发送,每发送一个数据 就进一次中断。所以迷惑
页:
[1]