打印

dsp中断按键程序

[复制链接]
2052|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
595332542|  楼主 | 2013-8-21 15:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位老师,
我现在采用外部中断处理按键问题,下面为简单中断程序。
interrupt void ISRExint3(void)
{
           num1++;
    PieCtrlRegs.PIEACK.all = PIEACK_GROUP12;
    sign=3;

}
为什么外部按键按下,num1每次并不是加一,而是没有规律的增长?

不知各位有没有按键中断的程序参考一下。

相关帖子

沙发
595332542|  楼主 | 2013-8-21 16:51 | 只看该作者
麻烦指导一下哈。

使用特权

评论回复
板凳
zhangmangui| | 2013-8-21 19:02 | 只看该作者
按键没有去抖动   只能说连续多次中断  
你可以进入中断之后关闭中断  
然后看看是否只加了一次  如果不是一次  
说明别的地方也对num1有修改

使用特权

评论回复
地板
biechedan| | 2013-8-21 23:12 | 只看该作者
你的触发方式不对吧?

使用特权

评论回复
5
biechedan| | 2013-8-21 23:13 | 只看该作者
使用边沿触发,而不是电平触发。

使用特权

评论回复
6
595332542|  楼主 | 2013-8-22 10:24 | 只看该作者
zhangmangui 发表于 2013-8-21 19:02
按键没有去抖动   只能说连续多次中断  
你可以进入中断之后关闭中断  
然后看看是否只加了一次  如果不是 ...

是的,确实是多次中断,进入中断后把相应中断关闭,num数值只加了一位,但在进入中断后关闭中断只能进入一次中断了。
确实是多次中断的这个问题应该如何让解决呢?
以前没有用过中断,老师您那里有没有使用中断的例子,麻烦啦^_^。

使用特权

评论回复
7
zhangmangui| | 2013-8-22 11:15 | 只看该作者
595332542 发表于 2013-8-22 10:24
是的,确实是多次中断,进入中断后把相应中断关闭,num数值只加了一位,但在进入中断后关闭中断只能进入 ...

如果按键接到了中断上   那就你程序进入之后先关闭中断   num加加   然后打开中断  中断服务函数结束  
这样如果还是多次   那就软件上没法处理了  应该在硬件电路上加入整形
如果是在IO口上的话  你可以采用查询的方法   然后在去抖动   就可以避免多次的情况

使用特权

评论回复
8
wangdezhi| | 2013-8-22 23:48 | 只看该作者
楼主可以使用while里面循环的。

使用特权

评论回复
9
wangdezhi| | 2013-8-22 23:48 | 只看该作者
等待引脚变为高电平。

使用特权

评论回复
10
拿起书本| | 2013-8-24 21:12 | 只看该作者
采用外部中断,也必须配合定时器来做。否则不好区分是抖动造成的多次按键

使用特权

评论回复
11
zhangmangui| | 2013-8-25 00:26 | 只看该作者
拿起书本 发表于 2013-8-24 21:12
采用外部中断,也必须配合定时器来做。否则不好区分是抖动造成的多次按键 ...

这个不太明白  还望你详解一下  怎么配合

使用特权

评论回复
12
craaazyfor| | 2013-9-24 15:11 | 只看该作者
定时按键消抖、检测,我们的产品就这么做的

使用特权

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

本版积分规则

30

主题

77

帖子

3

粉丝