打印

STM32为何一上电就进中断

[复制链接]
2498|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ybxdy|  楼主 | 2008-9-21 09:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以下我的中断设置:用的是IOB0作中断源,不知道为何一上电就进中断,在程序里却有时进,有时不进中断。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_SPI1 | RCC_APB2Periph_AFIO, ENABLE);// 使能GPIOB时钟

/*IOB0开放外部中断*/
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  GPIO_Init(GPIOB, &GPIO_InitStructure);
  GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource0);

 NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQChannel;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);

void EXTI_Configuration(void)
{ EXTI_InitTypeDef EXTI_InitStructure; 
  EXTI_DeInit();
  GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource0);
  EXTI_InitStructure.EXTI_Line = EXTI_Line0 | 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_GenerateSWInterrupt(EXTI_Line0);
}

void EXTI0_IRQHandler(void)
{
 if(EXTI_GetITStatus(EXTI_Line0) != RESET)
  {    /* Clear the EXTI line 9 pending bit */
    EXTI_ClearITPendingBit(EXTI_Line0);
    GPIO_SetBits(GPIOB, GPIO_Pin_8 );
    sta=1;
 //   delay();
  }
}

都是参考例程写的,不知道错在那里,IOB0接一个按键,按下时接GND。
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

8

帖子

0

粉丝