I am using NodeMCU and I program it using Arduino IDE, I need to change the PWM frequency of a port, in Arduino I used to change the frequency using timers registers like that:
TCCR1B = (TCCR1B & 0xF8) | 1 ;
How can I change the frequency of a digital pin using some function like that:
analogWriteFrequency(pin, 31250);
So that the code will looks like that:
#ifdef __AVR__
TCCR1B = (TCCR1B & 0xF8) | 1 ; //generates the MCKL signal
#else
analogWriteFrequency(pin, 31250);
#endif
analogWrite(pin, 128) ;
Thanks.
asked Jul 10, 2016 at 9:53
1 Answer 1
PWM frequency is 1kHz by default. Call
analogWriteFreq(new_frequency)
to change the frequency.
answered Jul 10, 2016 at 12:04
Ignacio Vazquez-Abrams Ignacio Vazquez-AbramsIgnacio Vazquez-Abrams
17.7k1 gold badge28 silver badges32 bronze badges
-
Probably not. They probably all use the same single PWM generator.Ignacio Vazquez-Abrams– Ignacio Vazquez-Abrams2016年07月10日 12:33:03 +00:00Commented Jul 10, 2016 at 12:33
-
Source link is 404.Chris Catignani– Chris Catignani2019年10月03日 13:02:35 +00:00Commented Oct 3, 2019 at 13:02