打印
[技术求助]

老是出现程序复位

[复制链接]
337|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liliang9554|  楼主 | 2019-11-9 09:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
午夜粪车| | 2019-11-9 09:09 | 只看该作者
楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
板凳
liliang9554|  楼主 | 2019-11-9 09:12 | 只看该作者

#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)

   {    }                        //等待中断

}   

使用特权

评论回复
地板
dengdc| | 2019-11-9 09:16 | 只看该作者

最好借助仿真器来调试.

使用特权

评论回复
5
zhaoxqi| | 2019-11-9 09:18 | 只看该作者

"中断返回时,老是出现程序复位", 很多时候由于堆栈设置不足引起

使用特权

评论回复
6
huangchui| | 2019-11-9 09:24 | 只看该作者

由于中断函数和普通函数是不同的, 请用中断服务函数规范. 如:

void    interrupt    c_intimer() {}

使用特权

评论回复
7
jiajs| | 2019-11-9 09:27 | 只看该作者

应该是程序跑飞了吧;

使用特权

评论回复
8
liliang9554|  楼主 | 2019-11-9 09:30 | 只看该作者
嗯,预料中的结果,先结贴吧,多谢大家啦

使用特权

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

本版积分规则

950

主题

11568

帖子

6

粉丝