OpenEdv-开源电子网

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

按键按下没反应,我定义了两跟外部中断线,按理应该我无论按下哪个按钮都会触发相应的外部中断函数啊

[复制链接]

12

主题

61

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-1-6
在线时间
29 小时
发表于 2017-1-7 14:18:08 | 显示全部楼层 |阅读模式
1金钱
#include "exit.h"
#include "stm32f10x.h"
#include "delay.h"
#include "led.h"
#include "beep.h"

void Exit_Init(void)
{
       
        GPIO_InitTypeDef Keystruct;
        EXTI_InitTypeDef Exitstruct;
        NVIC_InitTypeDef NVICstruct;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
        Keystruct.GPIO_Mode=GPIO_Mode_IPU;
        Keystruct.GPIO_Pin=GPIO_Pin_3|GPIO_Pin_4;
        Keystruct.GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_Init(GPIOE,&Keystruct);
        GPIO_SetBits(GPIOE,GPIO_Pin_4|GPIO_Pin_3);
       
        GPIO_EXTILineConfig(GPIO_PortSourceGPIOE,GPIO_PinSource4);
        GPIO_EXTILineConfig(GPIO_PortSourceGPIOE,GPIO_PinSource3);
       
        Exitstruct.EXTI_Line=EXTI_Line3;
        Exitstruct.EXTI_Line=EXTI_Line4;
        Exitstruct.EXTI_LineCmd=ENABLE;
        Exitstruct.EXTI_Mode=EXTI_Mode_Interrupt;
        Exitstruct.EXTI_Trigger=EXTI_Trigger_Falling;
        EXTI_Init(&Exitstruct);
       
        NVICstruct.NVIC_IRQChannel=EXTI3_IRQn;
        NVICstruct.NVIC_IRQChannelCmd=ENABLE;
        NVICstruct.NVIC_IRQChannelPreemptionPriority=2;
        NVICstruct.NVIC_IRQChannelSubPriority=2;
        NVIC_Init(&NVICstruct);
       
        NVICstruct.NVIC_IRQChannel=EXTI4_IRQn;
        NVICstruct.NVIC_IRQChannelCmd=ENABLE;
        NVICstruct.NVIC_IRQChannelPreemptionPriority=2;
        NVICstruct.NVIC_IRQChannelSubPriority=2;
        NVIC_Init(&NVICstruct);       
}

void EXTI3_IRQHandler(void)
{
        delay_ms(10);
        if(KEY0==0)
        {
                LED0=!LED0;
                LED1=!LED1;
        }
        EXTI_ClearITPendingBit(EXTI_Line3);
       
}

void EXTI4_IRQHandler(void)
{

        delay_ms(10);
        if(KEY1==0)
        {
                BEEP=!BEEP;
        }
        EXTI_ClearITPendingBit(EXTI_Line4);
}


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

使用道具 举报

12

主题

61

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-1-6
在线时间
29 小时
 楼主| 发表于 2017-1-7 14:18:09 | 显示全部楼层
himalauas 发表于 2017-1-7 15:09
楼上那两句改成Exitstruct.EXTI_Line=EXTI_Line3|EXTI_Line4;

回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2017-1-7 14:46:52 | 显示全部楼层
看下图你自己去慢慢体会,你这种写法哪里不对!
VWQ]YCUF`)[8MK48HKGZ5S2.png
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2018-7-18
在线时间
17 小时
发表于 2017-1-7 15:09:09 | 显示全部楼层
楼上那两句改成Exitstruct.EXTI_Line=EXTI_Line3|EXTI_Line4;
回复

使用道具 举报

12

主题

61

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-1-6
在线时间
29 小时
 楼主| 发表于 2017-1-7 15:17:14 | 显示全部楼层
zuozhongkai 发表于 2017-1-7 14:46
看下图你自己去慢慢体会,你这种写法哪里不对!

感谢感谢!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-12 03:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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