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

按键中断灯不亮是什么原因呢?

[复制链接]
shengxiaozhu 提问时间:2020-9-3 17:19 /
//外部中断初始化
void EXTI_Init(void)
{
    GPIO_InitTypeDef GPIO_Initure;
                        
    __HAL_RCC_GPIOA_CLK_ENABLE();               //开启GPIOA时钟
    __HAL_RCC_GPIOC_CLK_ENABLE();               //开启GPIOC时钟
    __HAL_RCC_GPIOE_CLK_ENABLE();
        
    GPIO_Initure.Pin=GPIO_PIN_0;                //PA0
    GPIO_Initure.Mode=GPIO_MODE_IT_RISING;      //上升沿触发
    GPIO_Initure.Pull=GPIO_PULLDOWN;
    HAL_GPIO_Init(GPIOA,&GPIO_Initure);


    GPIO_Initure.Pin=GPIO_PIN_6;                           
    GPIO_Initure.Mode=GPIO_MODE_IT_FALLING;     //下降沿触发
    GPIO_Initure.Pull=GPIO_PULLUP;
    HAL_GPIO_Init(GPIOE,&GPIO_Initure);

    //中断线0-PA0
    HAL_NVIC_SetPriority(EXTI0_IRQn,2,2);       //抢占优先级为2,子优先级为2
    HAL_NVIC_EnableIRQ(EXTI0_IRQn);             //使能中断线0

        
    //中断线2-PE6
    HAL_NVIC_SetPriority(EXTI2_IRQn,2,0);         //抢占优先级为2,子优先级为0
    HAL_NVIC_EnableIRQ(EXTI2_IRQn);                //使能中断线2
}


//中断服务函数
void EXTI0_IRQHandler(void)
{
    HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0);                //调用中断处理公用函数
}


void EXTI2_IRQHandler(void)
{
    HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_6);                //调用中断处理公用函数
         
}


//中断服务程序中需要做的事情
//在HAL库中所有的外部中断服务函数都会调用此函数
//GPIO_Pin:中断引脚号
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
                        
    delay_ms(10);              //消抖
    switch(GPIO_Pin)
    {
        case GPIO_PIN_0:
            if(WK_UP==1)
            {
                                                                        
            }
            break;

            case GPIO_PIN_6:
                        if(HAL_GPIO_ReadPin(GPIOE,GPIO_PIN_6)==0)
                        {
                                Disin_LED=!Disin_LED;       //这里只是一个LED灯,我按下PE6的时候这个灯并没有亮是什么原因呢
                        }
            break;
    }
}
在main()中调用EXTI_Init();        
而且void EXTI2_IRQHandler()  这个中断函数并没有触发呢,还是我有什么地方改的不对吗?



收藏 评论2 发布时间:2020-9-3 17:19

举报

2个回答
爱电子辉辉 回答时间:2020-9-3 19:37:18
GPIO6 中断为啥开 EXTI2?
shengxiaozhu 回答时间:2020-9-4 08:09:03
爱电子辉辉 发表于 2020-9-3 19:37
GPIO6 中断为啥开 EXTI2?

是的哥,以发现了,换成这个就好了EXTI9_5_IRQn

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版