Eraldusvõime ja saavutatavate sageduste vahel on kompromiss. Mainite taimerit 2, kuid Atmega328P-s on taimer 2 8-bitine taimer, seega ei saaks te CTC-d seada väärtuseks 1024.
Oletame, et räägime 16-bitisest taimerist, nagu Atmega328P taimer 1. Ühe eelskaalaga saate aja (eeldades 16 MHz kella) ajavahemikku 1 kuni 65536 "puugid", see tähendab 62,5 ns kuni 4096 µs.
See oleks kõige täpsem mõõtmine, kuna kasutate ühte (protsessori) kellamärki taimeri linnukese kohta (ühe eelkalkulaator).
Kui aga plaanite ajastada kauem kui 4,096 ms, peate eelkalkulaatori üles tõstma . Taimeri 1 järgmine eelkaaler on 8, nii et nüüd saate ajavahemikuks 8 korda nii kaua (32768 µs) aega veeta, kuid teie täpsus (täpsus) on nüüd vähenenud 8 korda. detailsus Taimeri arv on suurenenud 62,5 ns-lt 62,5 * 8 ns-le, mis on 500 ns.
Kui peate aega võtma kauem kui 32,768 ms, peab eelkalkeraator olema jälle suurem, järgmine on 64. Nii et nüüd saate aega kulutada kuni 262144 µs, kuid täpsusega 62,5 * 64, mis on 4000 ns (4 µs).
Minu ettepanek oleks kasutada võimalikult madalat eelkalkulaatorit, kuid siiski saada soovitud intervall. Nii et ilmselgelt ei saa te kasutada eelskaalat üks kord 10 ms.
Mul on taimeritega seotud arutelu saidil http://www.gammon.com.au/timers.
Sellel lehel on diagramm, mis aitab visualiseerida erinevate eelseadmete mõjusid:
Ülemine osa (ühe arv) annab teile tõhusamalt iga eelkaaleri üksikasjalikkuse. Näiteks eelkaaleri 256 granuleeritavus on 16 000 ns (16 us). Teatud sagedused (võimsus 2) sobivad kombinatsioonide jaoks (nt. Eelkalkulaator 1 arvuga 256 või eelkalkeraator 256 arvuga 1).
Kuid sageduste puhul, millel pole selle omaduse korral annab väiksem eelkaaler (kui seda saab kasutada) peenema täpsuse.