回复第 11 楼 于2013-07-09 15:51:17发表:
回复第 10 楼 于2013-07-09 13:29:28发表:
回复第 8 楼 于2013-07-09 11:00:34发表:
回复第 6 楼 于2013-07-08 16:57:59发表:
回复第 5 楼 于2013-07-08 16:07:43发表:
程序里有几个中断? 逐个屏蔽掉看看是哪个中断出的问题. 再看看这个出问题的中断中断向量号是否正确
void ECT_Init(void)
{
TSCR1_TEN=1; //定时器使能
TSCR1_TSWAI=0; //中断等待允许继续运行
TSCR1_TSFRZ=0; //冻结模式下继续运行
TSCR1_TFFCA=0; //定时器标志快速清除
TSCR2_TOI=1; //计时器溢出中断使能
TSCR2_TCRE=0; //计数器自由计数
TSCR2_PR2=0;
TSCR2_PR1=0;
TSCR2_PR0=0; //设定预分频因子定时8ms
}
我查出是ECT的问题,我把ECT初始化注释掉就能正常运行了,能帮看看具体是什么问题吗,上面是初始化的部分
你把ECT初始化注释掉,你的定时器中断就不工作了. 所以就不出错.
你看看你ECT的中断向量写对了吗?
向量值没写,到也能正常编译啊。
没写向量号也要把中断服务子程序的入口地址写在对应的中断向量表里. 要不然程序怎么知道中断来了执行什么程序?
编译正常不代表功能就能正确执行啊
中断向量表里是#include 里面自带的那个吗?还是要自己写的,我刚学FREESCALE,不太清楚啊。
|