你好,
我打算用28069的cputimer0定时器做时间记录,其中PRD和TDDR均设置成最大值,但是在程序运行的过程中,PSC值不变一直是0xFF,只有TIM寄存器在递减。
这是我度寄存器的方式:
TIM = CpuTimer0Regs.TIM.all;
TPR = CpuTimer0Regs.TPR.bit.PSC;
TPRH = CpuTimer0Regs.TPRH.bit.PSCH;
{
// 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;
}
Mia Zhu:
求指教
你好,
我打算用28069的cputimer0定时器做时间记录,其中PRD和TDDR均设置成最大值,但是在程序运行的过程中,PSC值不变一直是0xFF,只有TIM寄存器在递减。
这是我度寄存器的方式:
TIM = CpuTimer0Regs.TIM.all;
TPR = CpuTimer0Regs.TPR.bit.PSC;
TPRH = CpuTimer0Regs.TPRH.bit.PSCH;
{
// 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;
}
Xupeng(FAA) He:
TIM在减的话那么PSC肯定也在变,我没有亲自试过,但是说明书上这样写的。你可以用仿真器看看这个寄存器的值,还可以关停定时器再看看寄存器的值。