qianrushian 发表于 2018-4-19 15:53:31

为什么我的外部中断函数不能进去

void LED_Init(void)
{

GPIO_InitTypeDef GPIO_InitStruct;
EXTI_InitTypeDefEXTI_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;

GPIO_InitStruct.GPIO_Pin =GPIO_Pin_0;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStruct.GPIO_PuPd=GPIO_PuPd_NOPULL;
GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
GPIO_Init(GPIOA, &GPIO_InitStruct);

EXTI_InitStructure.EXTI_Line = EXTI_Line0;                        
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;            
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;            
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource0);   

NVIC_InitStructure.NVIC_IRQChannel = EXTI0_1_IRQn;               
NVIC_InitStructure.NVIC_IRQChannelPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}

void EXTI0_1_IRQHandler(void)//中断函数
{
   if(EXTI_GetITStatus(EXTI_Line0)!= RESET )
   {               
      SystemInit();   
      EXTI_ClearITPendingBit(EXTI_Line0);
   }
}

wenyangzeng 发表于 2018-4-19 17:33:31

GPIO的时钟没有开;
还有AFIO:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO ,ENABLE);

左岸右岸 发表于 2018-4-19 16:45:02

贴上来的代码中没有打开 GPIOA 的时钟,其他配置可以参考官方例程,检查配置差异

dataozi 发表于 2018-4-19 17:49:48

复用的时钟开启了吗?

daoshuchen 发表于 2018-4-24 10:15:53

配置可以参考官方例程,

daoshuchen 发表于 2019-2-22 11:10:25

时钟?
页: [1]
查看完整版本: 为什么我的外部中断函数不能进去