关于DSP28335的CPU 定时器的配置问题

2024-12-16 16:02:31
推荐回答(1个)
回答1:

CPUFreqInMHz是DSP的实际工作频率,这个参数的单位是MHz,
PeriodInUSec是要定时的时间长度,单位是微秒
定时值=定时长度/(CPU的周期)=定时长度×CPU的频率
Timer->RegsAddr->PRD.all= temp 向定时器周期寄存器赋值

Timer->RegsAddr->TPR.all = 0;
Timer->RegsAddr->TPRH.all = 0;
上面两句是配置定时器预定标寄存器,每个定时器源时钟周期TIM(定时器计数器)减一

Timer->RegsAddr->TCR.bit.TSS = 1; // 1 = Stop timer, 0 = Start/Restart Timer
Timer->RegsAddr->TCR.bit.TRB = 1; // 1 = reload timer
Timer->RegsAddr->TCR.bit.SOFT = 0;
Timer->RegsAddr->TCR.bit.FREE = 0; // Timer Free Run Disabled
Timer->RegsAddr->TCR.bit.TIE = 1; // 0 = Disable/ 1 = Enable Timer Interrupt
上面这五句是配置定时器控制寄存器,TSS写1,停止定时器;TRB写1,使能定时器重新装载;SOFT=0、FREE=0是配置CPU定时器仿真模式;TIE写1,CPU定时器中断使能。

以上是我的理解,我也是刚学,如有错误,还望高三指点