野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 218|回复: 3

EXTI中断,KEY2无法实现

[复制链接]
发表于 2024-1-4 17:36:39 | 显示全部楼层 |阅读模式
#include "bsp_exti.h"

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


void EXTI_KEY_Config(void)
{
        GPIO_InitTypeDef GPIO_InitStruct;
        EXTI_InitTypeDef EXTI_InitStruct;
       
       
  EXTI_NVIC_Config();
       
       
        RCC_APB2PeriphClockCmd(KEY1_INT_GPIO_CLK|KEY2_INT_GPIO_CLK,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
       
        GPIO_InitStruct.GPIO_Pin =KEY1_INT_GPIO_PIN;
        GPIO_InitStruct.GPIO_Mode =GPIO_Mode_IN_FLOATING;
       
        GPIO_Init(KEY1_INT_GPIO_PORT, &GPIO_InitStruct);
       
       
        GPIO_InitStruct.GPIO_Pin =KEY2_INT_GPIO_PIN;
        GPIO_InitStruct.GPIO_Mode =GPIO_Mode_IN_FLOATING;
       
        GPIO_Init(KEY2_INT_GPIO_PORT, &GPIO_InitStruct);
       
       
       
        GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0);
        GPIO_EXTILineConfig(GPIO_PortSourceGPIOC, GPIO_PinSource13);

        EXTI_InitStruct.EXTI_Line=EXTI_Line0;
        EXTI_InitStruct.EXTI_Mode=EXTI_Mode_Interrupt;
        EXTI_InitStruct.EXTI_Trigger=EXTI_Trigger_Rising;
        EXTI_InitStruct.EXTI_LineCmd=ENABLE;
       
        EXTI_Init(&EXTI_InitStruct);
       
       
        EXTI_InitStruct.EXTI_Line=EXTI_Line13;
        EXTI_InitStruct.EXTI_Mode=EXTI_Mode_Interrupt;
        EXTI_InitStruct.EXTI_Trigger=EXTI_Trigger_Rising;
        EXTI_InitStruct.EXTI_LineCmd=ENABLE;
}




#ifndef _BSP_EXTI_H
#define _BSP_EXTI_H

#include "stm32f10x.h"


#define KEY1_INT_GPIO_PIN          GPIO_Pin_0
#define KEY1_INT_GPIO_PORT         GPIOA
#define KEY1_INT_GPIO_CLK          RCC_APB2Periph_GPIOA


#define KEY2_INT_GPIO_PIN          GPIO_Pin_13
#define KEY2_INT_GPIO_PORT         GPIOC
#define KEY2_INT_GPIO_CLK          RCC_APB2Periph_GPIOC

void EXTI_KEY_Config(void);
       
#endif /*_BSP_EXTI_H*/




void EXTI0_IRQHandler(void)
{
        if(EXTI_GetITStatus(EXTI_Line0)!=RESET)
  {
                LED_TOGGLE_G;
        }
        EXTI_ClearITPendingBit(EXTI_Line0);
}

void EXTI15_10_IRQHandler(void)
{
        if(EXTI_GetITStatus(EXTI_Line13)!=RESET)
  {
                LED_TOGGLE_R;
        }
        EXTI_ClearITPendingBit(EXTI_Line13);



哪里的问题啊,有没有大神帮忙解答一下

回复

使用道具 举报

发表于 2024-1-5 15:46:16 | 显示全部楼层
你这里配置完第一个中断,之后进行了初始化,第二个中断只进行了配置,并没有初始化
野火论坛202401051545092014..png
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-6 16:45:53 | 显示全部楼层
谢谢啦,越着急越粗心,我愣是没看出来
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-6 16:47:00 | 显示全部楼层
Nalimca 发表于 2024-1-5 15:46
你这里配置完第一个中断,之后进行了初始化,第二个中断只进行了配置,并没有初始化 ...


谢谢啦,越着急越粗心,我愣是没看出来
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-1 15:24 , Processed in 0.136779 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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