免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3364 | 回复: 8
打印 上一主题 下一主题

关于2410外部中断响应程序的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-11 15:48 |只看该作者 |倒序浏览
用2410外部中断碰到了一个棘手的问题,想对一个外部中断引脚在上升沿和下降沿是执行不同的程序,如果设为双边沿触发,那么在中断处理程序内该怎么判断当前的中断是上升沿还是下降沿呢?如何才能对上升沿和下降沿进行不同的响应呢?谢谢。

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
2 [报告]
发表于 2008-12-11 16:29 |只看该作者

回复 #1 ibubu 的帖子

这个应该是硬件是否提供这样的功能的问题,对于软件来说,中断的触发并不关心它是在上升还是下降沿触发的。你要弄明白的话,应该仔细读一下硬件手册。

论坛徽章:
0
3 [报告]
发表于 2008-12-11 19:09 |只看该作者
如果硬件手册上面有的话我就不到这里发帖子了,谢谢。希望有经验的朋友来说一说。

论坛徽章:
0
4 [报告]
发表于 2008-12-11 20:27 |只看该作者
看看set_external_irq你就明白了

论坛徽章:
0
5 [报告]
发表于 2008-12-11 20:39 |只看该作者
我错了,硬件应该没有提供这个功能吧

论坛徽章:
0
6 [报告]
发表于 2008-12-11 21:25 |只看该作者
给你提供一个比较繁琐的方法:
1、将io口设置成中断功能,并且将中断触发类型设置成上升沿,下降沿都可触发,即沿触发
2、当来中断的时候,记录中断,并在中断处理程序中迅速将io口设置成gpio功能,且设置成输入,读一下数值,这时候你就可以知道是高电平还是低电平,然后将io口功能重新设置成中断功能(没有其他硬件协助的话,我想只能这样了,尽管挺慢,有时候在读io的时候信号已经消失了)。
3、当然你也可以将你的中断信号线同时与2410的中断引脚 和另外一条负责判断的引脚相连,如果只用一条引脚的话,:wink:哈哈~

2410应该可以做到~
就是这个样子~

评分

参与人数 1可用积分 +9 收起 理由
dreamice + 9 我很赞同

查看全部评分

论坛徽章:
0
7 [报告]
发表于 2008-12-12 10:04 |只看该作者

回复 #6 .kaka 的帖子

非常感谢,总算是有个思路了,呵呵。我的两个沿间隔比较长,应该可以实现,thx

论坛徽章:
0
8 [报告]
发表于 2008-12-12 10:08 |只看该作者

回复 #4 vn42 的帖子

2410是有这个函数封装的,但是我没有找到set_external_irq函数的具体实现,能告诉我在哪里吗?非常感谢。

论坛徽章:
0
9 [报告]
发表于 2008-12-30 16:42 |只看该作者

回复 #1 ibubu 的帖子

在IRQ线上并一个D型上升沿有效锁存器,同时将效锁存器的输出接到一个IO口,中断发生时,第一时间判断IO口,这样就搞定了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP