打印
[应用相关]

我按键却没有反应

[复制链接]
2436|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我仿照原子的例程进行外部中断实验,可总是实现不了,大家讨论讨论呀.
主程序中的中断初始化:

各项设置:

中断服务程序:

可是我按键却没有反应,什么情况?
沙发
ar_m_cu| | 2013-12-5 16:01 | 只看该作者
你在中断处理函数中延时?真大胆!

使用特权

评论回复
板凳
根号四| | 2013-12-5 16:54 | 只看该作者
还用消抖?真大胆!

使用特权

评论回复
地板
小营七郎| | 2013-12-5 17:20 | 只看该作者
ar_m_cu 发表于 2013-12-5 16:01
你在中断处理函数中延时?真大胆!

难道不能延时嘛?

使用特权

评论回复
5
zeluo| | 2013-12-5 17:30 | 只看该作者
是不是  你的延时时间太长了   楼主   这个完全有可能的

使用特权

评论回复
6
ar_m_cu| | 2013-12-5 18:41 | 只看该作者
本帖最后由 ar_m_cu 于 2013-12-5 18:43 编辑
小营七郎 发表于 2013-12-5 17:20
难道不能延时嘛?


中断函数的执行时间要尽可能的短,在中断函数中出现延时函数和等待函数是禁忌。延时可以在其他的地方处理。

使用特权

评论回复
7
m__dd| | 2013-12-6 08:19 | 只看该作者
可以用输入滤波,时钟周期也不用太高

使用特权

评论回复
8
副BAN主就是我| | 2013-12-6 10:22 | 只看该作者
NVIC中断使能了吗?时钟是否配置了?GPIO是否配置正确?

  EXTI_InitTypeDef EXTI_InitStructure;
  GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource11);
  //将PB11配置为EXTI Line0
  EXTI_InitStructure.EXTI_Line=EXTI_Line11;
  EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;
  EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;//下降沿触发
  EXTI_InitStructure.EXTI_LineCmd=ENABLE;
  EXTI_Init(&EXTI_InitStructure);

  if(EXTI_GetITStatus(EXTI_Line11) != RESET)
  {   
    EXTI_ClearITPendingBit(EXTI_Line11);    //清中断
  }
  

使用特权

评论回复
9
gcxzhz| | 2013-12-6 10:26 | 只看该作者
人家在中断中延时是因为人家就一个按键中断,你这个是不是就一个中断啊

使用特权

评论回复
10
gcxzhz| | 2013-12-6 10:29 | 只看该作者
你的代码全贴上来

使用特权

评论回复
11
拿起书本| | 2013-12-8 20:23 | 只看该作者
中断处理程序中的延时可以用忙等待函数来代替的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

482

主题

2214

帖子

11

粉丝