|
修改第二步:修改delay.c中的函数。
先在开头定义两个变量:static volatile unsigned long tickstart, delaytime;
StartTimer函数改为:
void StartTimer(unsigned int milliSec)
{
tickstart = TimerCounterGet(SOC_TMR_1_REGS, TMR_TIMER12);
delaytime = (unsigned long)milliSec * TMR_PERIOD_LSB32;
}
将StopTimer函数内容清空。
IsTimerElapsed函数改为:
unsigned int IsTimerElapsed(void)
{
unsigned long tickcurrent;
tickcurrent = TimerCounterGet(SOC_TMR_1_REGS, TMR_TIMER12);
if ((tickcurrent - tickstart) > delaytime) {
return TRUE;
} else {
return FALSE;
}
}
可以将TimerIsr函数删除。
|
|