打印
[DSP编程]

为什么DSP程序每次进入中断之后需要再开全局中断???

[复制链接]
3992|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
asas1235813|  楼主 | 2013-8-15 16:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
zhangmangui| | 2013-8-15 21:07 | 只看该作者
你肯定是进入后关了全局中断  为了下次能进  肯定要打开

使用特权

评论回复
板凳
asas1235813|  楼主 | 2013-8-16 09:07 | 只看该作者
zhangmangui 发表于 2013-8-15 21:07
你肯定是进入后关了全局中断  为了下次能进  肯定要打开

看中断资料的时候。。。
2.中断函数
interrupt void T1PINT_ISR(void)   
{
  ...........
  ...........   
  EvaRegs.EVAIFRA.bit.T1PINT=1;   //清除中断标志位
  PieCtrlRegs.PIEACK.bit.ACK2=1;  //响应同组中断
  //Here is a bug

  EINT;                           //开全局中断
}
最后加上了开全局中断,在代码中删除EINT发现也能再次进入中断。所以不太懂要加上EINT。。。。
是为了保证一定能再次进入中断?请教。。。。

使用特权

评论回复
地板
zhangmangui| | 2013-8-16 09:09 | 只看该作者
asas1235813 发表于 2013-8-16 09:07
看中断资料的时候。。。
2.中断函数
interrupt void T1PINT_ISR(void)   

你的代码如果是这样的话  这句完全可以不加  

使用特权

评论回复
5
zhangmangui| | 2013-8-16 09:11 | 只看该作者
asas1235813 发表于 2013-8-16 09:07
看中断资料的时候。。。
2.中断函数
interrupt void T1PINT_ISR(void)   

像这样  就可以再次打开
interrupt void SCIRXINTA_ISR(void)     // SCI-A
{
        unsigned char i;           //ReceivedAChar;
        DINT;//关闭总中断

           // 数据接收
           //temp=SciaRegs.SCIFFRX.bit.RXFIFST;         //数据长度
    for(i=0;i<5;i++)
        {
                Receviced_data = SciaRegs.SCIRXBUF.all;
                //ReceivedAChar = SciaRegs.SCIRXBUF.all;
                //Receviced_data = ReceivedAChar;     //接收串口数据
                Receviced_data[4] = '\0';
        }
          
        flag=1;                                  //表示接受完成
        SciaRegs.SCIFFRX.bit.RXFIFORESET=0;      //将FIFO指针复位为0
        for(i=0;i<20;i++); //延时
        SciaRegs.SCIFFRX.bit.RXFIFORESET=1;      //退出复位状态
           SciaRegs.SCIFFRX.bit.RXFFINTCLR = 1;     // 清除接收中断标志
    SciaRegs.SCIFFRX.bit.RXOVF_CLR = 1;      //清除溢出中断标志
        PieCtrl.PIEACK.all |= M_INT9;            //响应中断
        EINT;   //开总中断
}

使用特权

评论回复
6
asas1235813|  楼主 | 2013-8-16 09:15 | 只看该作者
zhangmangui 发表于 2013-8-16 09:11
像这样  就可以再次打开
interrupt void SCIRXINTA_ISR(void)     // SCI-A
{

原来是这样,懂了,嘿嘿  菜鸟一枚 多谢版主解答 :lol

使用特权

评论回复
7
zhangmangui| | 2013-8-16 10:09 | 只看该作者
asas1235813 发表于 2013-8-16 09:15
原来是这样,懂了,嘿嘿  菜鸟一枚 多谢版主解答

共同进步   相互帮助

使用特权

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

本版积分规则

4

主题

29

帖子

0

粉丝