从上述图片所示,上面都为定时器时钟,感觉有冲突,我们依据那个哈?
Shine:
这两个是一致的,SYSCLK2=1/2SYSCLK1, SYSCLK1=CPU speed,所以timer clock=1/2 SYSCLK2=1/4 CPU clock.
user3541080:
回复 Shine:
如果我设置SYSCLK2不等于1/2SYSCLK会有问题吗?我通过PLLDIV2设置
Shine:
回复 user3541080:
datasheet上有说明SYSCLK2 rate must be exactly half of SYSCLK1.
user3541080:
回复 Shine:
·设置如附件所示,我的晶振是50MHz,定义了一个1ms的定时器中断,每1ms进入一次中断。中断里面有个10s的计数器,当计数到10s的时候停止计数。 同时,我自己用手机也计时。 但是最后,10s的计数器停止后,我手机显示是跑了20s. 请问这是啥原因。我检查了设置都没错。
user3541080:
回复 user3541080:
Tony Tang:
回复 user3541080:
测一下clkout3频率是多少?
user3541080:
回复 Tony Tang:
ECLKOUT为50MHz,clkout3没有接出,无法测量
Tony Tang:
回复 user3541080:
好像没看到prd配置的是多少。
user3541080:
回复 Tony Tang:
user3541080:
回复 user3541080:
我后面又做了两个定时器:Timer0定时周期为40s, Timer1定时周期为1ms(每1ms进入一次定时中断)。
当Timer1中断里面的计数器计数到10s时,停止计数。
这时,我用getcount函数,取Timer0的值,发现计数值为20s.与手机现象一致。
当定时器进入中断后,现象表明计数时间加倍?可以解释下吗。