打印

(求助)单独的中断都可以进入,但是放在一起就不行了

[复制链接]
1825|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
phate|  楼主 | 2009-1-2 20:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
IO, TI, timer, pi, TE
用IO捕获上升沿中断。
在IO中断发生时,IO的中断处理程序开启一个计时器计时,同时关闭IO的中断。
然后等待Timer的terminal中断,可是进入IO中断后怎么也进不去Timer的terminal中断处理函数。
单独IO中断和单独的Timer中断都调过,没有问题,可是放一起就不行了。
程序如下,谁能帮我分析下问题出在哪里。

#include <m8c.h>        // part specific constants and macros
#include "PSoCAPI.h"    // PSoC API definitions for all User Modules

#pragma interrupt_handler APSoC_GPIO_ISR;
#pragma interrupt_handler timer8_1_terminal_int;

void APSoC_GPIO_ISR()  //GPIO中断处理函数
{
    PRT5DR=0xFF;    //测试是否进入IO中断
    Timer8_1_EnableInt();    //开timer中断
    Timer8_1_Start();    //开始计时
    INT_MSK0^=INT_MSK0_GPIO;  //关IO中断
    INT_CLR0|= 0x20;  //清空IO中断
}

void timer8_1_terminal_int()  //Timer中断处理函数
{    
    PRT6DR=0xFF;    //测试是否进入Timer的terminal中断
    Timer8_1_Stop();    //停止计时
}

void main()
{
    INT_MSK0|=INT_MSK0_GPIO;  //开IO中断
    M8C_EnableGInt;    //开全局中断    
    while(1);
}
沙发
phate|  楼主 | 2009-1-2 20:24 | 只看该作者

自己顶一下

请大家指点,多谢!

使用特权

评论回复
板凳
phate|  楼主 | 2009-1-4 09:44 | 只看该作者

没人能回答这个问题吗?

谁要是知道还请帮帮忙,多谢!

使用特权

评论回复
地板
ni_labview| | 2009-1-4 14:27 | 只看该作者

没碰过此类问题,已经把你的问题转到CYPRESS方面,稍等

使用特权

评论回复
5
PSoC_Rock| | 2009-1-5 10:18 | 只看该作者

请这样清空IO中断

INT_CLR0 &= ~0x20;  //清空IO中断

使用特权

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

本版积分规则

4

主题

9

帖子

0

粉丝