打印

TMS320LF2407中断问题

[复制链接]
2142|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
狂崽|  楼主 | 2008-5-29 20:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位仁兄,小弟现在遇到一个疑惑,请大家帮忙解决以下

我有个DSP程序,是关于串口接收和发送,接收和发送我都用的是中断,其中接收是高优先,发送是低优先,今天突然发现我的发送中断处理函数没有被调用,即发送中断标志没有清,
问题
1\怎么我用串口调试,发送都是正常的呢,
2\我调用了发送函数,是不是IFR相应中断标志就置位了,总中断在产生中断时就关闭了吧,怎么还能继续产生其它中断,我还用了其它定时中断
;建立中断向量表
            .sect     ".vectors"
RSVECT      B       _c_int0
INT1        B       _c_int1
INT2        B       _c_int2
INT3        B       _c_int3
INT4        B       PHANTOM
INT5        B       _c_int5////现在是INT5        B       PHANTOM
INT6        B       PHANTOM
串口初始化
void SCI_Init()

    SCICCR=0x0007;           //空闲多处理器模式,8位数据位,停止位,无奇偶校验位
    SCICTL1=0x0013;          //接收,发送,内部时钟使能SLEEP=1
    SCICTL2=0x0003;          //接收中断使能
    SCIPRI=0x0040;           //接受高中断优先级1,送低优先级5
    SCIHBAUD=0x0002;         //40M,波特率设置为9600
    SCILBAUD=0x0008;     
    SCICTL1=0x0033;          //串口初始化完成 
 
}
发送函数
void SCI_Send(unsigned int senddata)  
{
    SCITXBUF = senddata;
}
发送中断处理函数
void c_int5()
{
     if(PIVR!=0x07)      //低优先级的SCI发送中断
    {
        enable();//开总中断
        return;
    }
    IFR = 0x10;
    enable();//开总中断
}

相关帖子

沙发
狂崽|  楼主 | 2008-5-30 20:04 | 只看该作者

怎么没有人回啊

是不是当假中断处理了啊,

使用特权

评论回复
板凳
hhming8283| | 2008-6-10 20:38 | 只看该作者

可以这样吗?

你的中断函数不用interrupt声明也可以用吗

使用特权

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

本版积分规则

15

主题

59

帖子

0

粉丝