CpuTimer1Regs.PRD.all = 0xFFFFFFFF; // 计数周期全满
CpuTimer1Regs.TPR.bit.TDDR = 150; // 分频150 in US
CpuTimer1Regs.TPRH.bit.TDDRH = 0;
CpuTimer1Regs.TCR.bit.TSS = 1; // 1 = Stop timer, 0 = Start/Restart Timer
CpuTimer1Regs.TCR.bit.TRB = 1; // 1 = reload timer
CpuTimer1Regs.TCR.bit.FREE = 1; // Timer Free Run
CpuTimer1Regs.TCR.bit.TSS = 0; // 1 = Stop timer, 0 = Start/Restart Timerc
初始化过程如上 时钟sysclk是150M
实际运行的时候发现TIMH:TIM中的数变化很快,大概是期望值的1.5倍
本来是打算一微妙记一次数,但是实际计时下来居然比系统时钟快
mangui zhang:
你这里150分频 你还要看看系统时钟到模块的时钟是怎么配置的
比系统时钟快 应该是不可能的 你在计算一下
CpuTimer1Regs.PRD.all = 0xFFFFFFFF; // 计数周期全满
CpuTimer1Regs.TPR.bit.TDDR = 150; // 分频150 in US
CpuTimer1Regs.TPRH.bit.TDDRH = 0;
CpuTimer1Regs.TCR.bit.TSS = 1; // 1 = Stop timer, 0 = Start/Restart Timer
CpuTimer1Regs.TCR.bit.TRB = 1; // 1 = reload timer
CpuTimer1Regs.TCR.bit.FREE = 1; // Timer Free Run
CpuTimer1Regs.TCR.bit.TSS = 0; // 1 = Stop timer, 0 = Start/Restart Timerc
初始化过程如上 时钟sysclk是150M
实际运行的时候发现TIMH:TIM中的数变化很快,大概是期望值的1.5倍
本来是打算一微妙记一次数,但是实际计时下来居然比系统时钟快
dia son:
回复 mangui zhang:
恩 检查了一下 是我弄错了,因为我把TIMH寄存器的值的变化当做秒了 其实最小单位是65536us