在线时间1 小时
UID262321
注册时间2009-9-25
NXP金币0
该用户从未签到
新手上路

- 积分
- 14
- 最后登录
- 1970-1-1
|
本帖最后由 huangzhaoqiu 于 2017-2-3 09:18 编辑
有个问题想请教下,我做定时器的时候,刚刷完程序时定时器中断里的程序和主循环的程序都运行正常,但是断电重启动后只有定时器中断里的程序能跑,用仿真器重连软复位后又能跑,这是什么原因呢?哪位大侠帮忙看下,谢谢。
static void Timer_Init(void)
{
//ECT_TSCR1=0X80;//TIMER INT ENABLED
ECT_TSCR1=0x90;//计数器使能TEN|快速清零TFFCA
//TIM_TSCR1=0X00; //禁止TIM
ECT_TSCR2=0X85;
ECT_TCNT =0; //
ECT_PACTL=0X50; //PT7 PIN,PACN32 16BIT,FALLing edge,NOT INTERRUPT
//ICPAR=0; //8BIT DISABLED
}
//-----------------------------------------------------
/*系统时钟频率44MHZ*/
void SetBusCLK_44M(void)
{
CLKSEL=0X00;
PLLCTL_PLLON=1;
SYNR =0xc0 | 0x0A;
REFDV=0x40 | 0x03;
POSTDIV=0x00;
_asm(nop);
_asm(nop);
while(!(CRGFLG_LOCK==1));
CLKSEL_PLLSEL =1;
}
//-----------------------------------------------------
#pragma CODE_SEG DEFAULT
void Init_Dev(void)
{
SetBusCLK_44M();
Led_init();
adcinit();
InitSCI();
Timer_Init();
}
void Dly_ms(int ms)
{
int ii,jj;
if (ms<1) ms=1;
for(ii=0;ii<ms;ii++)
for(jj=0;jj<1335;jj++); //16MHz--1ms
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 16 Timer_Overflow(void)
{
ECT_TFLG2_TOF = 1; //清定时器溢出标志位
ledcnt++;
ECT_TCNT=0;
}
void main(void) {
/* put your own code here */
_DISABLE_COP();
Init_Dev();
EnableInterrupts;
for(;;)
{
if(ledcnt==2)
{
SCI();
Led();
ledcnt=0;
}
_FEED_COP();
} /* loop forever */
/* please make sure that you never leave main */
}
|
|