wenyangzeng 发表于 2014-12-17 21:33:26

本帖最后由 wenyangzeng 于 2014-12-17 21:35 编辑

楼主:我特地运行了你的程序,在中断配置加入断点,确定可以进入外部中断:
void EXIT_Init(void)
{
                GPIO_InitTypeDef GPIO_InitStruct;
          EXTI_InitTypeDef EXTI_InitStruct;
          NVIC_InitTypeDef NVIC_InitStruct;
          /* config the extiline(PB0) clock and AFIO clock */
          RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);
          RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);
         
      
         /* Configyre P0NIVC*/
                NVIC_InitStruct.NVIC_IRQChannel =EXTI0_1_IRQn;
                NVIC_InitStruct.NVIC_IRQChannelPriority = 0x00;
                NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;
                NVIC_Init(&NVIC_InitStruct);
      

                GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0;
          GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN;//EXTI_Mode_Interrupt
                GPIO_InitStruct.GPIO_Speed = GPIO_Speed_10MHz;
    GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP; // ÉÏÀ­ÊäÈëGPIO_PuPd_DOWN
                GPIO_Init(GPIOB, &GPIO_InitStruct);

                /* EXTI line(PB0) mode config */

                SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOB, EXTI_PinSource0);
                EXTI_InitStruct.EXTI_Line =EXTI_Line0;
                EXTI_InitStruct.EXTI_Mode = EXTI_Mode_Interrupt;
                EXTI_InitStruct.EXTI_Trigger = EXTI_Trigger_Falling; //ϽµÑØÖжÏ
                EXTI_InitStruct.EXTI_LineCmd = ENABLE;
                EXTI_Init(&EXTI_InitStruct);
                __set_PRIMASK(1);      
//以上是你原来的函数,此处插入这句函数:
                EXTI_GenerateSWInterrupt(EXTI_Line0);//在这里设置一个断点,可以进入该断点.证明EXIT中断是可入的,请检查你其他函数.
               
}

wxh0000mm 发表于 2014-12-18 08:12:21

本帖最后由 wxh0000mm 于 2014-12-18 08:13 编辑

wenyangzeng 发表于 2014-12-17 21:33
楼主:我特地运行了你的程序,在中断配置加入断点,确定可以进入外部中断:
void EXIT_Init(void)
{

谢谢。我去试试 。
页: 1 [2]
查看完整版本: 管脚上面有中断信号 STM32F051就是不进中断函数