|
說(shuō)一下我的調(diào)整方法:
1秒=(n-1)*定時(shí)器時(shí)間1+定時(shí)器時(shí)間2
首先假定定時(shí)器時(shí)間1=定時(shí)器時(shí)間2,我的MCU晶振為12Mhz的,取n=200,那么定時(shí)器時(shí)間為5000us
實(shí)際上因?yàn)榫д竦念l率多少有點(diǎn)偏差,需要對(duì)定時(shí)器時(shí)間進(jìn)行調(diào)整,這時(shí)候總能找到兩個(gè)連續(xù)的值,一個(gè)使電子鐘走時(shí)偏慢,一個(gè)使電子鐘走時(shí)偏快,取其中一個(gè)值為定時(shí)器時(shí)間1。
定時(shí)器時(shí)間1每+/-1us,電子鐘的1秒就+/-200us,這就需要引入定時(shí)器時(shí)間2,在us級(jí)上調(diào)整時(shí)間。
可以算出定時(shí)器時(shí)間2的取值范圍是5000us+/-100us。
接下來(lái)找定時(shí)器時(shí)間2,這時(shí)候也總能找到兩個(gè)連續(xù)的值,一個(gè)使電子鐘走時(shí)偏慢,一個(gè)使電子鐘走時(shí)偏快,中間的這個(gè)點(diǎn)就是最精確走時(shí)的定時(shí)器時(shí)間。
按照這個(gè)方法調(diào)試,基本可以把1秒的走時(shí)誤差控制在理論的最小誤差范圍內(nèi),即+/-0.5us,換算1天的累積誤差就是+/-0.0432秒。 |
|