参考1:使用Arduino Uno输出自定义频率的PWM - 小鹏STEM
参考2:最重要arduino(mega2560)配置寄存器输出自定义频率pwm_arduino寄存器设置pwm-CSDN博客
参考3:analogWrite怎么做PWM输出?改PWM频率(定时器相关)_analogwrite(pwma,500);-CSDN博客
对照第二篇参考,将PH4的引脚输出PWM频率改成5KHZ

直接在
void setup()
{
pinMode(7, OUTPUT); //OC4B
TCCR4A = _BV(COM4A0) | _BV(COM4B1) | _BV(WGM41) | _BV(WGM40);
TCCR4B = _BV(WGM43) |_BV(WGM42) | _BV(CS41); //10设置预分频系数为8
OCR4A = 400; //重装载值为40000 pwm频率为16Mhz/8预分频系数/400重装载值=5000hz :T=0.2ms
OCR4B = 200; //输出比较值,即控制占空比,如200/400=50%
}

被折叠的 条评论
为什么被折叠?



