http://www.atmel.com/Images/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdftu masz pdf-a od mikrokontrolera, w nim masz rozdziały o poszczególnych podzespołach (SPI,UART, I2C, Timery) o timerach poczytaj w rozdziałach 19-22 (od strony 125 ), rozdział 19 o licznikach 8 bit, 20 o licznikach 16 bit,
do rzeczy:
# bity WGMxx ustawiają tryb pracy,
# bity CSxx ustawiają prescaler,
# bity COMxx opisują reakcję na wyjsciach procesora (np. odłącza pin IO, lub powoduje przestawianie z IO na OCxx -- opisy przy pinoucie mikrokontrolera.
pamiętaj że timer generuje przerwania ----> trzeba je obsłużyć w programie.
http://mirekk36.blogspot.com/2013/06/avr-timer-calculator-new-tool.html a tu opis narzędzia do obliczeń co gdzie wpisać
https://www.arduino.cc/en/Tutorial/SecretsOfArduinoPWM tu też opis ale w formacie bardziej zrozumiałym dla ciebie
konkluzja :
z linku wyżej
The
Arduino performs some initialization of the timers. The Arduino initializes the prescaler on all three timers to
divide the clock by 64. Timer 0 is initialized to Fast PWM, while Timer 1 and Timer 2 is initialized to Phase Correct PWM. See the Arduino source file wiring.c for details.
The Arduino uses Timer 0 internally for the
millis() and delay() functions, so be warned that changing the frequency of this timer will cause those functions to be erroneous. Using the PWM outputs is safe if you don't change the frequency, ......
czyli timery w arduino sobie żyją ....