TI中文支持网
TI专业的中文技术问题咨询交流网站

使用2812的定时器0时调用了ConfigCpuTimer(&CpuTimer0,120,1000000),编译出现unresolved symbol _CpuTimer0, first referenced in ./source/main.obj test2

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结构体

赞(0)
未经允许不得转载:TI中文支持网 » 使用2812的定时器0时调用了ConfigCpuTimer(&CpuTimer0,120,1000000),编译出现unresolved symbol _CpuTimer0, first referenced in ./source/main.obj test2
分享到: 更多 (0)