TI中文支持网
TI专业的中文技术问题搜集分享网站

28069定时器的PSCH:PSC值可以读出来吗?

你好,

我打算用28069的cputimer0定时器做时间记录,其中PRD和TDDR均设置成最大值,但是在程序运行的过程中,PSC值不变一直是0xFF,只有TIM寄存器在递减。

这是我度寄存器的方式: 

TIM = CpuTimer0Regs.TIM.all;
TPR = CpuTimer0Regs.TPR.bit.PSC;
TPRH = CpuTimer0Regs.TPRH.bit.PSCH;

void InitCpuTimers(void)
{
    // CPU Timer 0
 // Initialize address pointers to respective timer registers:
 CpuTimer0.RegsAddr = &CpuTimer0Regs;
 
 CpuTimer0Regs.PRD.all  = 0x0000FFFF;

 CpuTimer0Regs.TPR.bit.TDDR  = 0xFF;
 CpuTimer0Regs.TPRH.bit.TDDRH = 0xFF;
 
 CpuTimer0Regs.TCR.bit.TSS = 1;

 CpuTimer0Regs.TCR.bit.TRB = 1;
 }

在主函数中,设置CpuTimer0Regs.TCR.all= 0x4000;
请问是什么问题?谢谢

Mia Zhu:

求指教

你好,

我打算用28069的cputimer0定时器做时间记录,其中PRD和TDDR均设置成最大值,但是在程序运行的过程中,PSC值不变一直是0xFF,只有TIM寄存器在递减。

这是我度寄存器的方式: 

TIM = CpuTimer0Regs.TIM.all;
TPR = CpuTimer0Regs.TPR.bit.PSC;
TPRH = CpuTimer0Regs.TPRH.bit.PSCH;

void InitCpuTimers(void)
{
    // CPU Timer 0
 // Initialize address pointers to respective timer registers:
 CpuTimer0.RegsAddr = &CpuTimer0Regs;
 
 CpuTimer0Regs.PRD.all  = 0x0000FFFF;

 CpuTimer0Regs.TPR.bit.TDDR  = 0xFF;
 CpuTimer0Regs.TPRH.bit.TDDRH = 0xFF;
 
 CpuTimer0Regs.TCR.bit.TSS = 1;

 CpuTimer0Regs.TCR.bit.TRB = 1;
 }

在主函数中,设置CpuTimer0Regs.TCR.all= 0x4000;
请问是什么问题?谢谢

Xupeng(FAA) He:

TIM在减的话那么PSC肯定也在变,我没有亲自试过,但是说明书上这样写的。你可以用仿真器看看这个寄存器的值,还可以关停定时器再看看寄存器的值。

赞(0)
未经允许不得转载:TI中文支持网 » 28069定时器的PSCH:PSC值可以读出来吗?
分享到: 更多 (0)