如题,在所提供例程 “外部中断实验”的基础上,我另外开了一个PD1的中断,却发现中断服务函数不响应。请教这是为什么?谢谢。
GPIO_EXTILineConfig(GPIO_PortSourceGPIOD,GPIO_PinSource1);
EXTI_InitStructure.EXTI_Line = EXTI_Line1;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure); //?ù??EXTI_InitStruct?????¨???????????????èEXTI?????÷
NVIC_InitStructure.NVIC_IRQChannel = EXTI1_IRQn; //????°??ü?ù?????????????¨??
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; //??????????2??
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x00; //×???????1
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //?????????????¨??
NVIC_Init(&NVIC_InitStructure); RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
服务函数为:
void EXTI1_IRQHandler(void) //
{
if(EXTI_GetITStatus(EXTI_Line1)!=RESET)//
{
TEST_LED=~TEST_LED; //
EXTI_ClearITPendingBit(EXTI_Line1);//
}
}
TEST_LED 是我自己设置的一个IO 方便测试,响应后反转。谢谢大家
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
谢谢您~我已经解决了 是一个很蠢的原因。不过您说的这个确实也很容易忽略掉
一周热门 更多>