OpenEdv-开源电子网

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

MiniSTM32F103外部中断

[复制链接]

2

主题

2

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2018-7-13
在线时间
3 小时
发表于 2018-7-17 15:20:45 | 显示全部楼层 |阅读模式
1金钱
MiniSTM32F103外部中断实验中烧录程序后为什么key1键无法使用
void EXTIX_Init(void)
{
EXTI_InitTypeDef EXTI_InitStruct;
NVIC_InitTypeDef NVIC_InitStruct;

  KEY_Init();//初始化按键对应io口模式
RCC_APB2PeriphClockCmd( RCC_APB2Periph_AFIO, ENABLE);

// WKUP PA0
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource0);

EXTI_InitStruct.EXTI_Line=EXTI_Line0;
EXTI_InitStruct.EXTI_LineCmd=ENABLE;
EXTI_InitStruct.EXTI_Mode=EXTI_Mode_Interrupt;
EXTI_InitStruct.EXTI_Trigger=EXTI_Trigger_Rising;
EXTI_Init(&EXTI_InitStruct);//初始化线上中断,设置触发提条件

NVIC_InitStruct.NVIC_IRQChannel=EXTI0_IRQn;
NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE;
NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=2;
NVIC_InitStruct.NVIC_IRQChannelSubPriority=3;
NVIC_Init(&NVIC_InitStruct);
// KEY0 PC5
GPIO_EXTILineConfig(GPIO_PortSourceGPIOC,GPIO_PinSource5);

EXTI_InitStruct.EXTI_Line=EXTI_Line5;
EXTI_InitStruct.EXTI_LineCmd=ENABLE;
EXTI_InitStruct.EXTI_Mode=EXTI_Mode_Interrupt;
EXTI_InitStruct.EXTI_Trigger=EXTI_Trigger_Falling;
EXTI_Init(&EXTI_InitStruct);//初始化线上中断,设置触发提条件

NVIC_InitStruct.NVIC_IRQChannel=EXTI9_5_IRQn;
NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE;
NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=2;
NVIC_InitStruct.NVIC_IRQChannelSubPriority=1;
NVIC_Init(&NVIC_InitStruct);
// KEY1 PA15
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource15);

EXTI_InitStruct.EXTI_Line=EXTI_Line15;
EXTI_InitStruct.EXTI_LineCmd=ENABLE;
EXTI_InitStruct.EXTI_Mode=EXTI_Mode_Interrupt;
EXTI_InitStruct.EXTI_Trigger=EXTI_Trigger_Falling;
EXTI_Init(&EXTI_InitStruct);//初始化线上中断,设置触发提条件

NVIC_InitStruct.NVIC_IRQChannel=EXTI15_10_IRQn;
NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE;
NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=2;
NVIC_InitStruct.NVIC_IRQChannelSubPriority=1;
NVIC_Init(&NVIC_InitStruct);
}
void EXTI0_IRQHandler(void)//WKUP
{
  delay_ms(10);
if(WK_UP==1)
{
   LED0=~LED0;
   LED1=~LED1;
  
}
EXTI_ClearITPendingBit(EXTI_Line0);

}
void EXTI9_5_IRQHandler(void)//KEY0
{
  delay_ms(10);
if(KEY0==0)
{
   LED0=~LED0;
  
}
EXTI_ClearITPendingBit(EXTI_Line5);

}
void EXTI15_10_IRQHandler(void)//KEY1
{
  delay_ms(10);
if(KEY1==0)
{
   LED1=!LED1;
  
}
EXTI_ClearITPendingBit(EXTI_Line15);

}
求解!!烧录资料中的代码也不成功救命!


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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-7-18 01:36:00 | 显示全部楼层
你是不是外部接了什么设备哦? KEY1所占的IO被你占了?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-17 05:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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