打印
[技术求助]

为什么中断返回时,老是出现程序复位?

[复制链接]
534|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lizye|  楼主 | 2017-4-23 21:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
jiahy| | 2017-4-23 21:55 | 只看该作者
程序发出来看看吧

使用特权

评论回复
板凳
lizye|  楼主 | 2017-4-23 21:59 | 只看该作者

#include \"LF2407.H\"



void initial()                 //系统初始化程序

{

    asm(\" setc INTM\";

    *SCSR1=0x8104;

    *WDCR=0x0E8;

    *IMR=0x0002;

    *IFR=0x0FFFF;

    *MCRA=*MCRA&0x0FFFC;

    *PADATDIR=*PADATDIR|0x0301;   

}



void timer1()              //通用定时器1初始化程序

{  

   *T1CON=0x0802;

   *T1PR=0x4E20;

   *T1CNT=0x00;

   *EVAIMRA=*EVAIMRA|0x0100;

   *EVAIFRA=*EVAIFRA&0x0100;

}



void T1INT()                //定时器下溢中断处理程序

{ int flag;

   flag=*EVAIFRA&0x0100;

   if(flag!=0x0100)

   {

     asm(\" clrc INTM\";

     return;

   }   

   *T1CNT=0x00;

   *EVAIFRA=*EVAIFRA&0x0100;

   asm(\" clrc INTM\";

   return;

}



void main()                   //主程序

{ initial();

   timer1();

   asm(\" clrc INTM\");

   *T1CON=*T1CON|0x0040;

   while(1)

   {    }                        //等待中断

}   

使用特权

评论回复
地板
shimx| | 2017-4-23 22:01 | 只看该作者

中间程序有问题

使用特权

评论回复
5
jiaxw| | 2017-4-23 22:02 | 只看该作者
建议楼主, 做好借助仿真器来调试.

使用特权

评论回复
6
jiaxw| | 2017-4-23 22:03 | 只看该作者
"中断返回时,老是出现程序复位", 很多时候由于堆栈设置不足引起, 也提醒楼主留意一下.

使用特权

评论回复
7
shimx| | 2017-4-23 22:03 | 只看该作者
没有用过 2407, 但是其他 DSP 中断结束应该要清除引起中断的标志.

使用特权

评论回复
8
spark周| | 2017-4-23 22:05 | 只看该作者
还是发TI DSP版块吧;

使用特权

评论回复
9
lizye|  楼主 | 2017-4-23 22:09 | 只看该作者
哦,那我就知道怎么回事了,多谢大家,结贴了哈

使用特权

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

本版积分规则

852

主题

9757

帖子

2

粉丝