1、我在主函数总调用的,主函数前也声明了这个函数,声明方式如下
extern void ConfigCpuTimer(struct CPUTIMER_VARS *Timer, float Freq, float Period);
2、另外在定时器初始化函数DSP281x_CpuTimers.c中对该函数进行了定义
void ConfigCpuTimer(struct CPUTIMER_VARS *Timer, float Freq, float Period)
{
Uint32 temp;
Timer->CPUFreqInMHz=Freq;
Timer->PeriodInUSec=Period;
temp=(long)(Freq*Period);
Timer->RegsAddr->PRD.all=temp; //给定时器周期寄存器赋值
Timer->RegsAddr->TPR.all=0; //给定时器预定标寄存器赋值
Timer->RegsAddr->TPRH.all=0;
//初始化定时器控制寄存器:
Timer->RegsAddr->TCR.bit.TIF=1; //清除中断标志位
Timer->RegsAddr->TCR.bit.TSS=1; //停止定时器
//定时器重装,将定时器周期寄存器的值装入定时器计数器寄存器
Timer->RegsAddr->TCR.bit.TRB=1;
Timer->RegsAddr->TCR.bit.SOFT=1;
Timer->RegsAddr->TCR.bit.FREE=1;
Timer->RegsAddr->TCR.bit.TIE=1; //使能定时器中断
Timer->InterruptCount=0; //初始化定时器中断计数器
}
请问这个问题怎么解决
Viki Shi:
请问你使用的是哪款芯片?
user6148062:
回复 Viki Shi:
TMS320F2812,问题已经解决,是因为没有把CpuTimer0定义为CPUTIMER_VARS结构体