OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4840|回复: 6

stm32f030 gpio中断有问题?

[复制链接]

2

主题

3

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2018-3-6
在线时间
1 小时
发表于 2018-3-9 21:30:53 | 显示全部楼层 |阅读模式
1金钱
配置PA1为外部中断,但是断点调试时,一直进不了EXTI0_1_IRQHandler函数,大家帮忙看看是不是配置哪里有问题???
void Wake_Line_Init(void)
{
    NVIC_InitTypeDef NVIC_InitStructure;
    EXTI_InitTypeDef EXTI_InitStructure;
    GPIO_InitTypeDef GPIO_InitStructure;

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);//配置中断时钟
    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);//打开GPIO AFIO的时钟
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_Level_2;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;//GPIO_PuPd_UP
    GPIO_Init(GPIOA, &GPIO_InitStructure);

    //SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource1);
    //EXTI_ClearITPendingBit(EXTI_Line1);/* PA1 外部中断1 */
    EXTI_InitStructure.EXTI_Line= EXTI_Line1; //PC11,为:EXTI_Line11
    EXTI_InitStructure.EXTI_Mode= EXTI_Mode_Interrupt;
    EXTI_InitStructure.EXTI_Trigger= EXTI_Trigger_Rising;   //中断方式为上升与下降沿
    EXTI_InitStructure.EXTI_LineCmd=ENABLE;
    EXTI_Init(&EXTI_InitStructure);
    SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource1);

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

void EXTI0_1_IRQHandler(void)   //中断响应函数
{
    if(EXTI_GetITStatus(EXTI_Line1) != RESET)
    {
        EXTI_ClearITPendingBit(EXTI_Line1); //清除标志
        pinflag ++;
    }

}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-3-10 01:17:24 | 显示全部楼层
回复

使用道具 举报

2

主题

3

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2018-3-6
在线时间
1 小时
 楼主| 发表于 2018-3-10 16:48:24 | 显示全部楼层
这个配置应该没有错吧就是没中断
回复

使用道具 举报

6

主题

93

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2018-1-27
在线时间
4 小时
发表于 2018-3-10 20:17:26 | 显示全部楼层
想学习MM32的call群 676021505
回复

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2018-3-10 22:00:06 | 显示全部楼层
void EXTI0_1_Init(void)
{
        EXTI_InitTypeDef   EXTI_InitStructure;
        GPIO_InitTypeDef   GPIO_InitStructure;
        NVIC_InitTypeDef   NVIC_InitStructure;
  /* Enable GPIOA clock */
  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);

  /* Configure PA1 pin as input floating */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
  GPIO_Init(GPIOA, &GPIO_InitStructure);

  /* Enable SYSCFG clock */
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);
  /* Connect EXTI1 Line to PA1 pin */
  SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource1);

  /* Configure EXTI1 line */
  EXTI_InitStructure.EXTI_Line = EXTI_Line1;
  EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
  EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
  EXTI_InitStructure.EXTI_LineCmd = ENABLE;
  EXTI_Init(&EXTI_InitStructure);

  /* Enable and set EXTI1 Interrupt */
  NVIC_InitStructure.NVIC_IRQChannel = EXTI0_1_IRQn;
  NVIC_InitStructure.NVIC_IRQChannelPriority = 0x00;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);
}

回复

使用道具 举报

55

主题

474

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2374
金钱
2374
注册时间
2017-8-7
在线时间
207 小时
发表于 2018-3-11 13:36:20 | 显示全部楼层
[mw_shl_code=c,true]void EXIT_KEY_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 P[A|B|C|D|E]0  NIVC  */
                NVIC_InitStruct.NVIC_IRQChannel = EXTI0_1_IRQn;
                NVIC_InitStruct.NVIC_IRQChannelPriority = 2;
                NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;
                NVIC_Init(&NVIC_InitStruct);
       
                  /* EXTI line gpio config(PB1) */       
                GPIO_InitStruct.GPIO_Pin = GPIO_Pin_1 ;
                GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN;
                GPIO_InitStruct.GPIO_Speed = GPIO_Speed_Level_1;
                GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP; // éÏà-êäèë
                GPIO_Init(GPIOB, &GPIO_InitStruct);
    GPIO_ResetBits(GPIOB, GPIO_Pin_1);
                /* EXTI line(PB1) mode config */
                SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOB, EXTI_PinSource1);
                EXTI_InitStruct.EXTI_Line = EXTI_Line1;
                EXTI_InitStruct.EXTI_Mode = EXTI_Mode_Interrupt;
                EXTI_InitStruct.EXTI_Trigger = EXTI_Trigger_Falling; //ϽμÑØÖD¶Ï
                EXTI_InitStruct.EXTI_LineCmd = ENABLE;
                EXTI_Init(&EXTI_InitStruct);
}


void EXTI0_1_IRQHandler(void)
{
  if(EXTI_GetITStatus(EXTI_Line1) != RESET)
  {  
   
                 g_bRfEnd=1;
                 EXTI_ClearITPendingBit(EXTI_Line1);
  }
}

[/mw_shl_code]

上面是我之前f0一个项目的中断代码,可用,参考一下吧
qq1950361006,互帮互助,共同进步。
回复

使用道具 举报

2

主题

474

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6469
金钱
6469
注册时间
2018-6-27
在线时间
547 小时
发表于 2020-4-23 16:28:16 | 显示全部楼层
学习学习,学习学习。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-26 03:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表