Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
arduino:arduino_timer [2020/11/18 22:16]
admin
arduino:arduino_timer [2020/12/02 23:38]
admin [Arduino Leonardo]
Line 2: Line 2:
  
 ==== Arduino Uno ==== ==== Arduino Uno ====
-   TCCR0B = TCCR0B & 0b11111000 | 0x01; // sets the speed on pin 5 and 6 
  
----- +Set PWM frequency for pin D5 & D6 
-==== Arduino Leonardo ==== + 
-Set PWM frequency for D5 & D6\\ +   TCCR0B = TCCR0B & B11111000 | B00000001;    // set timer 0 divisor to 1 for PWM frequency of 62500.00 Hz
-   TCCR0B = TCCR0B & B11111000 | B00000001;    // set timer 0 divisor to     1 for PWM frequency of 62500.00 Hz+
    TCCR0B = TCCR0B & B11111000 | B00000010;    // set timer 0 divisor to     8 for PWM frequency of  7812.50 Hz    TCCR0B = TCCR0B & B11111000 | B00000010;    // set timer 0 divisor to     8 for PWM frequency of  7812.50 Hz
    TCCR0B = TCCR0B & B11111000 | B00000011;    // set timer 0 divisor to    64 for PWM frequency of   976.56 Hz (The DEFAULT)    TCCR0B = TCCR0B & B11111000 | B00000011;    // set timer 0 divisor to    64 for PWM frequency of   976.56 Hz (The DEFAULT)
Line 13: Line 11:
    TCCR0B = TCCR0B & B11111000 | B00000101;    // set timer 0 divisor to  1024 for PWM frequency of    61.04 Hz    TCCR0B = TCCR0B & B11111000 | B00000101;    // set timer 0 divisor to  1024 for PWM frequency of    61.04 Hz
  
-Set PWM frequency for D9 & D10\\+Set PWM frequency for pin D9 & D10
  
    TCCR1B = TCCR1B & B11111000 | B00000001;    // set timer 1 divisor to     1 for PWM frequency of 31372.55 Hz    TCCR1B = TCCR1B & B11111000 | B00000001;    // set timer 1 divisor to     1 for PWM frequency of 31372.55 Hz
Line 20: Line 18:
    TCCR1B = TCCR1B & B11111000 | B00000100;    // set timer 1 divisor to   256 for PWM frequency of   122.55 Hz    TCCR1B = TCCR1B & B11111000 | B00000100;    // set timer 1 divisor to   256 for PWM frequency of   122.55 Hz
    TCCR1B = TCCR1B & B11111000 | B00000101;    // set timer 1 divisor to  1024 for PWM frequency of    30.64 Hz    TCCR1B = TCCR1B & B11111000 | B00000101;    // set timer 1 divisor to  1024 for PWM frequency of    30.64 Hz
-  + 
-Set PWM frequency for D3 & D11\\+Set PWM frequency for pin D3 & D11
  
    TCCR2B = TCCR2B & B11111000 | B00000001;    // set timer 2 divisor to     1 for PWM frequency of 31372.55 Hz    TCCR2B = TCCR2B & B11111000 | B00000001;    // set timer 2 divisor to     1 for PWM frequency of 31372.55 Hz
Line 30: Line 28:
    TCCR2B = TCCR2B & B11111000 | B00000110;    // set timer 2 divisor to   256 for PWM frequency of   122.55 Hz    TCCR2B = TCCR2B & B11111000 | B00000110;    // set timer 2 divisor to   256 for PWM frequency of   122.55 Hz
    TCCR2B = TCCR2B & B11111000 | B00000111;    // set timer 2 divisor to  1024 for PWM frequency of    30.64 Hz    TCCR2B = TCCR2B & B11111000 | B00000111;    // set timer 2 divisor to  1024 for PWM frequency of    30.64 Hz
 +
 //from [[https://forum.arduino.cc/index.php?topic=328714.0]]//\\ //from [[https://forum.arduino.cc/index.php?topic=328714.0]]//\\
 +
 +
 +==== Arduino Leonardo ====
  
 One can find a detailed explanation here:\\ One can find a detailed explanation here:\\
-[[http://r6500.blogspot.com/2014/12/fast-pwm-on-arduino-leonardo.html]]\\+[[http://r6500.blogspot.com/2014/12/fast-pwm-on-arduino-leonardo.html|Fast PWM on Arduino Leonardo ]]\\ 
 +and the code here:\\ 
 +[[https://github.com/R6500/Leonardo/blob/master/FastPWM.ino]]\\ 
 +and a library is here:\\ 
 +[[https://code.google.com/archive/p/arduino-pwm-frequency-library/downloads]]\\
  
 ---- ----