OpenEdv-开源电子网

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

外部中断进不去

[复制链接]

23

主题

85

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
365
金钱
365
注册时间
2018-3-21
在线时间
64 小时
发表于 2018-4-14 15:55:36 | 显示全部楼层 |阅读模式
3金钱
配置按键中断,PA0,以下是各项配置,编译也不出错,但是中断就是进不去,按下按键的状态为高电平,我用万用表量过了,[mw_shl_code=applescript,true]void NVIC_Configuration()
{
        NVIC_InitTypeDef NVIC_InitStructure;
        //éèÖÃÖD¶ÏóÅÏè¼¶·Ö×é  
       
        //ÅäÖÃÖD¶Ïí¨μ࣬Ôústm32l1xx.hÖD2éÕò
        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);

}

void  EXTI_Key_Init(void)
{
        //GPIO  EXTI ½á11ìå3õê¼»ˉ  
        GPIO_InitTypeDef  GPIO_InitStructure;
        EXTI_InitTypeDef  EXTI_InitStructure;
        //ê1Äüê±ÖóSYSCFG
        //PA0  
        RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE);
       
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_0;
        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
        GPIO_InitStructure.GPIO_Speed= GPIO_Speed_40MHz;
        GPIO_Init(GPIOA,&GPIO_InitStructure);
       
        //Ñ¡ÔñGPIOòy½Å×÷Îaía2¿ÖD¶ÏÏß
        SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA,EXTI_PinSource0);

        //EXTI0
        EXTI_InitStructure.EXTI_Line=EXTI_Line0;
        EXTI_InitStructure.EXTI_LineCmd=ENABLE;
        EXTI_InitStructure.EXTI_Mode =EXTI_Mode_Interrupt;
        EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Rising;//EXTI_Trigger_Rising_Falling;//EXTI_Trigger_Rising;//EXTI_Trigger_Falling;
        EXTI_Init(&EXTI_InitStructure);
               
}
//ÖD¶Ï·tÎñoˉêyÃûêÇÏμí3¶¨òåμÄ£¬2»êÇèËÎaìí¼óμÄ£¬Ôústm32l1xx_hs.sÎļtÖD

void EXTI0_IRQHandler()
{
        //¿aê¼μÄê±oòÑó3ùò»¶Îê±¼ä
        delay_ms(50);
        //
  if(Key_user ==1)
        {
             LED4_ON;
        }
        EXTI_ClearITPendingBit(EXTI_Line0);
}


main.c
int main(void)
{       
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
        SystemInit();
        uart_init();
        delay_init(24);
        LED_Init();
        KEY_Init();
        EXTI_Key_Init();
  LED3_ON;
  while(1)
        {

        }
}[/mw_shl_code]
按键的初始化什么的都没问题,就是进不去中断,请教一下,,我用的是stm32l152的板子





最佳答案

查看完整内容[请看2#楼]

无意间解决了这个问题,真的想给自己一刀,
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

23

主题

85

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
365
金钱
365
注册时间
2018-3-21
在线时间
64 小时
 楼主| 发表于 2018-4-14 15:55:37 | 显示全部楼层
无意间解决了这个问题,真的想给自己一刀,
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-4-16 01:47:30 | 显示全部楼层
帮顶
回复

使用道具 举报

23

主题

85

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
365
金钱
365
注册时间
2018-3-21
在线时间
64 小时
 楼主| 发表于 2018-4-16 17:49:48 | 显示全部楼层
have no body me
回复

使用道具 举报

29

主题

338

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1181
金钱
1181
注册时间
2018-4-13
在线时间
170 小时
发表于 2018-7-1 20:57:22 | 显示全部楼层
随风飘动 发表于 2018-4-14 15:55
无意间解决了这个问题,真的想给自己一刀,

请问楼主这个问题是如何解决的?
我正在学习外部中断,也是进不去中断。
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4524
金钱
4524
注册时间
2018-5-11
在线时间
947 小时
发表于 2018-7-1 21:16:04 | 显示全部楼层
xiatianyun 发表于 2018-7-1 20:57
请问楼主这个问题是如何解决的?
我正在学习外部中断,也是进不去中断。

有没有开启AFIO时钟?
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

2

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2018-4-26
在线时间
14 小时
发表于 2018-7-4 17:42:47 | 显示全部楼层
为什么要初始化串口? uart_init() ,这个是有什么用处?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-17 00:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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