kayron pisze:No nie do końca się zgodze z kolegą że Atmel ma takie wzorowe noty katalogowe. To zależy jaki procek, starsze faktycznie są bardzo dobrze i jasno opisywane w nich, ale nowsze to już raczej wertowanie stron i setki odnośników do nich, a okazuje się często że i tak co szukamy jest w jakieś osobnej erracie czy nocie aplikacyjnej. Wiem co przeszedłem z ATTINY 45 , nota do tego procesora to koszmar. Z drugiej strony w przypadku TINY BASCOM też strasznie kuleje i jest po ograniczany, właściwie to ZERO wsparcia.
Nowe (np. m162, m88) też są dobrze opisane. Spis treści jest rozwijaną listą podzieloną tematycznie. Bynajmniej ja potrafię w miarę szybko znaleźć potrzebne informacje.
M@ciej pisze:Mi chodziło o zrobienie licznika impulsów oraz prostego miernika częstotliwości na Atmedze16 lub 32 i chciałbym wiedzieć, jak to wygląda przy częstotliwości taktowania 1,2,4,8 i 16 MHz. Jak ustawić preskaler i jaką wartość wpisać wstępnie do licznika TimerX.Przydałoby się to zebrać w jedno miejsce,nawet dla potomnych.
W takim razie powinienieś jeden Timer skonfigurować jako licznik impulsów podawanych na pin Tx (np. T0, T1; nie mylić z TxD

). Drugi natomiast powinien generować podstawę czasu według której będzie można obliczyć mierzoną częstotliwość.
Głównie chodzi tu o konfigurację bitów CSx2...0 w rejestrach TCCRxn.
Licznik impulsów:
CSx2...0 = 110 - końcówka Tx reaguje na zbocze opadające
CSx2...0 = 111 - ------------------||----------------- narastające
Podstawa czasu - konfiguracja np. Timera0, aby co 10ms wywoływał przerwanie sprawdzające ilość zliczonych impulsów:
przykładowo dla kwarcu 8MHz preskaler ustawiamy na 1024 i skracamy cykl zliczania do 78. W ten sposób uzyskamy przerwanie co niecałe 10ms ((8MHz^-1)*1024*78~=10ms). Dla podanych przez Ciebie wartości kwarców trudno dobrać 'okrągłe' wartości. Do odmierzania czasu najlepszy jest kwarc zegarkowy 37.768kHz, który przy podziale prze 64, bez skracania cyklu licznika, da przerwanie co 0.5s.
P.S. Pojemność licznika = maksymalna wartość, jaką możemy do niego wpisać. Dla 8-bitowych 0..255 (2^8), 16-bitowych 0..65535 (2^16)