请选择 进入手机版 | 继续访问电脑版

普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 3155|回复: 3

按键中断 左右键反了 并且 等于1 才起作用 为什么啊

[复制链接]

5

主题

15

帖子

53

积分

注册会员

Rank: 2

积分
53
发表于 2020-3-1 14:57:47 | 显示全部楼层 |阅读模式
#include "exti.h"
#include "SysTick.h"
#include "key.h"
#include "led.h"
#include "beep.h"

void My_EXTI_Init(void)
{
        NVIC_InitTypeDef NVIC_InitStructure;
        EXTI_InitTypeDef EXTI_InitStructure;
       
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE);
       
  SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA,EXTI_PinSource0);  // KEYUP
  SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOE,EXTI_PinSource2);
  SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOE,EXTI_PinSource3);
  SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOE,EXTI_PinSource4);
  //EXTI0 NVIC       
        NVIC_InitStructure.NVIC_IRQChannel=EXTI0_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;
        NVIC_InitStructure.NVIC_IRQChannelSubPriority=3;
        NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
        NVIC_Init(&NVIC_InitStructure);
       
        //EXTI2 NVIC
        NVIC_InitStructure.NVIC_IRQChannel=EXTI2_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;
        NVIC_InitStructure.NVIC_IRQChannelSubPriority=2;
        NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
        NVIC_Init(&NVIC_InitStructure);
        //EXTI3 NVIC
        NVIC_InitStructure.NVIC_IRQChannel=EXTI3_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;
        NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;
        NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
        NVIC_Init(&NVIC_InitStructure);
        //EXTI4 NVIC
        NVIC_InitStructure.NVIC_IRQChannel=EXTI4_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;
        NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;
        NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
        NVIC_Init(&NVIC_InitStructure);
       
       
        EXTI_InitStructure.EXTI_Line=EXTI_Line0;
        EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;
        EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Rising;
        EXTI_InitStructure.EXTI_LineCmd=ENABLE;
        EXTI_Init(&EXTI_InitStructure);
       
        EXTI_InitStructure.EXTI_Line=EXTI_Line2|EXTI_Line3|EXTI_Line4;
        EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;
        EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;
        EXTI_InitStructure.EXTI_LineCmd=ENABLE;
        EXTI_Init(&EXTI_InitStructure);
       
}


void EXTI0_IRQHandler(void)
{
  if(EXTI_GetITStatus(EXTI_Line0)==1)
         {
     delay_ms(10);       
                 if(K_UP==1)
                       
                  { led2=0;beep=1;
               
                  }
                 
         }
         EXTI_ClearITPendingBit(EXTI_Line0);
         

}


void EXTI2_IRQHandler(void)
{
  if(EXTI_GetITStatus(EXTI_Line2)==1)
         {
     delay_ms(10);       
                 if(K_LEFT==1)   // 为什么 等于1起作用
                       
                  { led2=0;beep=1;
               
                  }
                 
         }
   EXTI_ClearITPendingBit(EXTI_Line2);
}


void EXTI3_IRQHandler(void)
{
  if(EXTI_GetITStatus(EXTI_Line3)==1)
         {
     delay_ms(10);       
                 if(K_DOWN==0)
                       
                  { led2=1;beep=0;
               
                  }
                 
         }
   EXTI_ClearITPendingBit(EXTI_Line3);
}

void EXTI4_IRQHandler(void)
{
  if(EXTI_GetITStatus(EXTI_Line4)==1)
         {
     delay_ms(10);       
                 if(K_RIGHT==1)  // 为什么 等于1起作用
                       
                  { led2=1;beep=0;
               
                  }
                 
         }
   EXTI_ClearITPendingBit(EXTI_Line4);
}
回复

使用道具 举报

5

主题

15

帖子

53

积分

注册会员

Rank: 2

积分
53
 楼主| 发表于 2020-3-1 14:59:30 | 显示全部楼层
能否提供下 外部中断的函数啊
回复 支持 反对

使用道具 举报

27

主题

337

帖子

3294

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3294
发表于 2020-3-2 11:08:41 | 显示全部楼层
hsmine 发表于 2020-3-1 14:59
能否提供下 外部中断的函数啊

可以到我们论坛下载:http://prechin.net/forum.php?mod ... &extra=page%3D1
回复 支持 反对

使用道具 举报

5

主题

15

帖子

53

积分

注册会员

Rank: 2

积分
53
 楼主| 发表于 2020-3-2 15:57:16 | 显示全部楼层
admin 发表于 2020-3-2 11:08
可以到我们论坛下载:http://prechin.net/forum.php?mod=viewthread&tid=35264&extra=page%3D1

找到了 谢谢!
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-4-19 03:26 , Processed in 0.084906 second(s), 30 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

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