打印

MSP430 双边沿触发中断函数怎么编

[复制链接]
5701|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
vlinux|  楼主 | 2014-5-22 10:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
是这样,需要对一个管脚电平检测,管脚"H"->"L"时下降沿触发,然后执行一个函数;管脚"L"->"H"时上升沿触发,然后执行另外一个函数;
我想问:这两个边沿触发的中断,是指向一个中断向量吗?可以分别指向两个中断函数去执行吗?

有例程序更好,谢谢

相关帖子

沙发
dirtwillfly| | 2014-5-22 11:14 | 只看该作者
指向同一个中断,你可以在中断服务程序里进行判断是上升沿还是下降沿

使用特权

评论回复
板凳
vlinux|  楼主 | 2014-5-22 12:23 | 只看该作者
dirtwillfly 发表于 2014-5-22 11:14
指向同一个中断,你可以在中断服务程序里进行判断是上升沿还是下降沿

430里面寄存器P1IES只能设置上升沿或者下将沿触发吧,不能设置双边沿触发是吗?
能告诉我怎么设置双边沿触发吗?就是不管是上升沿还是下降沿都能触发中断。

使用特权

评论回复
地板
dirtwillfly| | 2014-5-22 12:44 | 只看该作者
本帖最后由 dirtwillfly 于 2014-5-28 21:34 编辑
vlinux 发表于 2014-5-22 12:23
430里面寄存器P1IES只能设置上升沿或者下将沿触发吧,不能设置双边沿触发是吗?
能告诉我怎么设置双边沿 ...

下降沿触发后,在中断服务程序里更改为上升沿;反之,处理方式类同。

使用特权

评论回复
5
dfqcfvevwevw| | 2014-5-23 13:29 | 只看该作者
dirtwillfly 发表于 2014-5-22 12:44
下降沿触发后,在中断服务程序里更改为下降沿;反之,处理方式类同。

如此,有可能反应不过来吧.

使用特权

评论回复
6
shenmu2012| | 2014-5-23 22:22 | 只看该作者
在中断函数中设置其响应中断的边沿的

使用特权

评论回复
7
dirtwillfly| | 2014-5-26 21:17 | 只看该作者
楼主问题解决了吗?

使用特权

评论回复
8
angerbird| | 2014-5-26 23:37 | 只看该作者
看下学习的了啊,检测高低电平信号的就看设置的

使用特权

评论回复
9
李冬发| | 2014-5-28 00:38 | 只看该作者
用2个IO脚,比较简单。
还有1种就是进入中断后修改“沿”寄存器。

使用特权

评论回复
10
gxdu2002| | 2014-5-28 13:41 | 只看该作者
建议仔细看看MSP430的定时器A模块,,其由16位的定时器和多路比较/捕获通道组成!TACCTLx捕获/比较寄存器的第15、14两位CAPTMOD1、CAPTMOD0用于设置捕获模式,如上升沿、下降沿、上升沿和下降沿均捕获,第13、12两位CCIS1、CCIS0用于在捕获模式下设置捕获时间的输入信号源,第11位SCS用于确定捕获信号与定时器时钟是否同步,第8位CAP设置捕获模式还是比较模式……
按楼主的想法,可以将定时器模块设置为捕获模式、上升沿和下降沿均捕获,然后开中断,在中断程序中执行所需函数!

使用特权

评论回复
11
vlinux|  楼主 | 2014-6-8 14:05 | 只看该作者
dirtwillfly 发表于 2014-5-26 21:17
楼主问题解决了吗?

版主的做法我觉得是可行的,但是回帖里面也有提出可能会出现响应不过来的问题;
我认为假如中断函数稍微长点,无法及时响应的问题是非常严峻的,有可能会漏捕捉边沿触发的中断;
这也是目前我遇到的问题,因为引脚的电压是类似锯齿波,不断地"H"->"L"->"H"的触发,一旦有一个边沿触发漏检,后面即使电压降为0V或升为3V,也无法通过边沿触发读取有效电平;

目前项目遇到的问题也是卡在这里,因为Soft是日本方面的同事编的,代码不公开,因此探究起来问题很麻烦。

使用特权

评论回复
12
dirtwillfly| | 2014-6-8 22:25 | 只看该作者
这个问题没代码不容易解决

使用特权

评论回复
13
vlinux|  楼主 | 2014-12-5 10:56 | 只看该作者
我来结贴吧:
2个终端指向一个中断向量,但我们的程序员把监视用的看门狗弄晕了,程序跑飞了。
这还日本工程师呢,呵呵

使用特权

评论回复
14
ss么么| | 2016-11-5 13:59 | 只看该作者
vlinux 发表于 2014-12-5 10:56
我来结贴吧:
2个终端指向一个中断向量,但我们的程序员把监视用的看门狗弄晕了,程序跑飞了。
这还日本工 ...

?   有点可怕呢   我只知道  可以用捕获功能   

使用特权

评论回复
15
51xlf| | 2016-11-5 16:43 | 只看该作者
检测IO高低?

使用特权

评论回复
16
51xlf| | 2016-11-5 16:46 | 只看该作者
怎么使用上升沿触发然后切换下降沿触发。

使用特权

评论回复
17
youtome| | 2016-11-6 22:51 | 只看该作者
一般都是先设置上升沿触发,然后设置下降触发。

使用特权

评论回复
18
youtome| | 2016-11-6 22:54 | 只看该作者
边沿触发只能通过IO的状态进行判断了。

使用特权

评论回复
19
uptown| | 2016-11-7 22:10 | 只看该作者
是上下沿触发吗?

使用特权

评论回复
20
uptown| | 2016-11-7 22:12 | 只看该作者
边沿检测最好能够上下沿单边检测。

使用特权

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

本版积分规则

5

主题

99

帖子

2

粉丝