你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 外部中断不能触发

[复制链接]
小Q-339479 提问时间:2012-1-20 23:11 /
小弟学STM32不到三天,大侠勿喷。调了一天,就是没有进入中断里面。编译没错误。大侠帮我看看怎回事?谢谢了
 
void EXTI0_IRQHandler(void)
{
 if(EXTI_GetITStatus(EXTI_Line0)!=RESET)
 {
  EXTI_ClearITPendingBit(EXTI_Line0);
  GPIO_SetBits(GPIOC,GPIO_Pin_6);
  GPIO_SetBits(GPIOC,GPIO_Pin_7);
  GPIO_ResetBits(GPIOD,GPIO_Pin_6);
  GPIO_ResetBits(GPIOD,GPIO_Pin_13);
  Delay(0xfffff);
  
    
 }
}
int main(void)
{

  SystemInit();//开72MHZ主频时钟
  RCC_APB2PeriphClockCmd( RCC_APB2Periph_AFIO |
                         RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD |
                         RCC_APB2Periph_GPIOE, ENABLE); //使能GPIO时钟和复用AFIO时钟
 GPIO_init();
 EXTI_init();
 NVIC_init();
  while (1)
  {
    GPIO_SetBits(GPIOD,GPIO_Pin_6);
  GPIO_SetBits(GPIOD,GPIO_Pin_13);
  
  }
}
void GPIO_init()
{
 GPIO_InitTypeDef GPIO_InitStructure;  //声明一个结构体叫GPIO_InitStructure
 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7;   //LED1  LED2
 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
 GPIO_Init(GPIOC,&GPIO_InitStructure);
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_13; //LED3  LED4       
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
 GPIO_Init(GPIOD, &GPIO_InitStructure);
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5|GPIO_Pin_4|GPIO_Pin_2|GPIO_Pin_3; //S1 2 3 4       
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
 GPIO_Init(GPIOE, &GPIO_InitStructure);
 
}
void EXTI_init()
{
 EXTI_InitTypeDef EXTI_InitStructure;  //声明一个结构体叫EXTI_InitStructure
 GPIO_EXTILineConfig(GPIO_PortSourceGPIOE, GPIO_PinSource5);
 EXTI_InitStructure.EXTI_Line=EXTI_Line0; //选择中短线0
 EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;  //设置为中断
 EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Rising;  //  上升沿触发
 EXTI_InitStructure.EXTI_LineCmd=ENABLE;    //
 EXTI_Init(&EXTI_InitStructure);
 EXTI_GenerateSWInterrupt(EXTI_Line0);
}
void NVIC_init()
{
  NVIC_InitTypeDef NVIC_InitStructure;
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);//选择优先级分组
 NVIC_InitStructure.NVIC_IRQChannel=EXTI0_IRQn;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;
   NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;
   NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
   NVIC_Init(&NVIC_InitStructure);
 
}
收藏 评论3 发布时间:2012-1-20 23:11

举报

3个回答
小Q-339479 回答时间:2012-1-21 11:56:44

回复:STM32 外部中断不能触发

帮忙看看吧 好痛苦  开发板的程序5个三个不能用。。。。调了两天了 还是不行 不知道是哪个环节错了  网上移植了别人的程序也不行。
小Q-339479 回答时间:2012-1-21 16:48:38

回复:STM32 外部中断不能触发

没有好心的大哥 帮我看看吗
小Q-339479 回答时间:2012-1-22 00:49:02

回复:STM32 外部中断不能触发

疯了=。=不知道问题出在哪

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版