野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2324|回复: 3

新人求助!使用key0作为按键中断,按下时不进行跳转

[复制链接]
发表于 2023-4-8 19:17:34 | 显示全部楼层 |阅读模式
#include "exti.h"  //key0 PE4

static void NVIC_EXTI_Config(void)
{
       
        NVIC_PriorityGroupConfig( NVIC_PriorityGroup_1);
        NVIC_InitTypeDef NVIC_InitStruct;
        NVIC_InitStruct.NVIC_IRQChannel = EXTI4_IRQn;
        NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 1;
        NVIC_InitStruct.NVIC_IRQChannelSubPriority = 1;
        NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;
        NVIC_Init(&NVIC_InitStruct);
       
}

void EXTI_KEY_Config(void)
{
       
        GPIO_InitTypeDef GPIO_InitStruct;
        EXTI_InitTypeDef EXTI_InitStruct;
        //key0初始化 PE4
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);
        GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IN_FLOATING;
        GPIO_InitStruct.GPIO_Pin=GPIO_Pin_4;
        GPIO_Init(GPIOE, &GPIO_InitStruct);
        //NVIC初始化
        NVIC_EXTI_Config();
        //将key0连接到EXTI上面去
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
        GPIO_EXTILineConfig(GPIO_PortSourceGPIOE, GPIO_PinSource4);
        //初始化EXTI
        EXTI_InitStruct.EXTI_Line = EXTI_Line4;
        EXTI_InitStruct.EXTI_Mode = EXTI_Mode_Interrupt;
        EXTI_InitStruct.EXTI_Trigger = EXTI_Trigger_Rising;
        EXTI_InitStruct.EXTI_LineCmd = ENABLE;
        EXTI_StructInit(&EXTI_InitStruct);
       
}

//这是对应执行的中断服务子程序
void EXTI4_IRQHandler(void)
{
        if( EXTI_GetITStatus(EXTI_Line4) != RESET)
        {
                LED0_TOGGLE;
        }
        EXTI_ClearITPendingBit(EXTI_Line4);
}

回复

使用道具 举报

 楼主| 发表于 2023-4-8 23:23:00 来自手机 | 显示全部楼层
我用的是原子的精英板,跟火哥后面写代码,但是实验结果是灯没有动静。我调试发现我按键时不跳转到中断子程序
回复 支持 反对

使用道具 举报

发表于 2023-4-10 09:53:46 | 显示全部楼层
你弄一个全局变量,然后在EXTI4_IRQHandler里面用函数赋值,调试来监控该变量的值来判断是否进入到中断函数
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-10 19:10:17 | 显示全部楼层
dyygxmy 发表于 2023-4-10 09:53
你弄一个全局变量,然后在EXTI4_IRQHandler里面用函数赋值,调试来监控该变量的值来判断是否进入到中断函数 ...

谢谢大哥提供的一种思路,我试试。
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-15 10:22 , Processed in 0.027198 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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