OpenEdv-开源电子网

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

请问我这个外部中断配置的有问题吗?

[复制链接]

2

主题

11

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2013-11-23
在线时间
0 小时
发表于 2013-11-29 08:37:27 | 显示全部楼层 |阅读模式

按下按键没什么反应。
可是感觉配置的没什么问题啊。
请教了。。
谢谢



 #include <stm32f10x.h>
#include "delay.h"
void RCC_Configuration(void);
void GPIO_EXTI_initial()
{
    GPIO_InitTypeDef GPIO_InitStructure;
     EXTI_InitTypeDef EXTI_InitStructure;
      EXTI_DeInit();
 RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO , ENABLE);
 
   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
   GPIO_InitStructure.GPIO_Mode =  GPIO_Mode_Out_PP ;
   GPIO_Init(GPIOA, &GPIO_InitStructure);
 
     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; 
   GPIO_InitStructure.GPIO_Mode =  GPIO_Mode_IPU ;
   GPIO_Init(GPIOA, &GPIO_InitStructure);
  
 
     EXTI_ClearITPendingBit(EXTI_Line10);
   EXTI_InitStructure.EXTI_Line =EXTI_Line10;
   EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
   EXTI_InitStructure.EXTI_Trigger =  EXTI_Trigger_Falling;
   EXTI_InitStructure.EXTI_LineCmd = ENABLE;
   
   EXTI_Init(&EXTI_InitStructure);
   GPIO_EXTILineConfig( GPIO_PortSourceGPIOA,GPIO_PinSource10);
    // EXTI_StructInit(&EXTI_InitStructure);

}


void NVIC_initial()
{
    NVIC_InitTypeDef NVIC_InitStructure;
      
     NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
    NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn ;
      //NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
     NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;
     NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
      NVIC_Init(&NVIC_InitStructure);
}

void EXTI15_10_IRQHandler(void)
{
  if(EXTI_GetFlagStatus(EXTI_Line10 )!=RESET)
  {
   EXTI_ClearFlag(EXTI_Line10);
     GPIO_Write(GPIOA,0X80);
  }


}


int main()
{
 RCC_Configuration();
 delay_init(72);
  NVIC_initial();
 GPIO_EXTI_initial();
 while(1);
 
  
 
 
  
  
}

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

使用道具 举报

9

主题

156

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
212
金钱
212
注册时间
2013-9-24
在线时间
0 小时
发表于 2013-11-29 09:27:03 | 显示全部楼层
那就看看你硬件接的对不对
人需要沐浴阳光,也必将经历风雨
回复 支持 反对

使用道具 举报

5

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
68
金钱
68
注册时间
2013-10-20
在线时间
0 小时
发表于 2013-11-29 10:20:22 | 显示全部楼层
回复【楼主位】zhouyou:
---------------------------------
GPIO_EXTILineConfig( GPIO_PortSourceGPIOA,GPIO_PinSource10);这个函数的位置靠前会不会有影响,是不是应该在EXIT_Init()之前呢?
加油加油加油!!!嵌入式怎么也要学会写系统吧!
回复 支持 反对

使用道具 举报

2

主题

11

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2013-11-23
在线时间
0 小时
 楼主| 发表于 2013-11-29 14:34:31 | 显示全部楼层
回复【2楼】LOVE_FYD:
---------------------------------
硬件的话就是一根线连接到一个与地接的按钮开关了。。可是怎么按都没有进入中断函数、我用软件产生中断的方法还是没有进入中断
回复 支持 反对

使用道具 举报

2

主题

11

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2013-11-23
在线时间
0 小时
 楼主| 发表于 2013-11-29 15:13:25 | 显示全部楼层
回复【3楼】xfdl:
---------------------------------
我换了还是没什么感觉额。。。。。。
回复 支持 反对

使用道具 举报

5

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2013-8-12
在线时间
0 小时
发表于 2013-11-29 23:16:03 | 显示全部楼层
硬件问题
回复 支持 反对

使用道具 举报

2

主题

11

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2013-11-23
在线时间
0 小时
 楼主| 发表于 2013-11-30 09:23:38 | 显示全部楼层
回复【6楼】kangzy92:
---------------------------------
那请问该这么接了?
回复 支持 反对

使用道具 举报

5

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
68
金钱
68
注册时间
2013-10-20
在线时间
0 小时
发表于 2013-12-3 16:36:50 | 显示全部楼层
回复【5楼】zhouyou:
---------------------------------
看代码确实没看出来什么问题- -,用JTAG单步试试看看哪里过不去了
加油加油加油!!!嵌入式怎么也要学会写系统吧!
回复 支持 反对

使用道具 举报

2

主题

11

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2013-11-23
在线时间
0 小时
 楼主| 发表于 2013-12-3 20:34:06 | 显示全部楼层
回复【8楼】xfdl:
---------------------------------
谢谢了。我调出来了。代码确实没什么问题就是他是个边沿触发。而就在这按下按键的一瞬间就进入了中断。而在中断里面就那个几ns所以基本就看不到现象。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-8 08:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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