Arduino输出PWM整理 可改变频率和占空比

//
ATmega168/328 有3个硬件定时器对应引脚
//
时钟输出 | Arduino输出Pin编号 | 芯片Pin | Pin name
OC0A 6 12 PD6
OC0B 5 11 PD5
OC1A 9 15 PB1
OC1B 10 16 PB2
OC2A 11 17 PB3
OC2B 3 5 PD3

//
库文件下载
//
ArduinoPWMFrequencyLibraryv_05 库文件 下载地址
http://www.geek-workshop.com/forum.php?mod=viewthread&tid=9595&highlight=PWM%C6%B5%C2%CA
//
库文件原始说明地址
//
https://forum.arduino.cc/index.php?topic=117425.0
//
PWM频率库【库文件原始说明地址中文翻译版本】
//
https://www.arduino.cn/thread-3012-1-1.html

在下面找到PWM压缩包下载,里面有两个例子。好好调试例子就可以了。

//
//例子1
//
允许16位定时器的频率范围为1Hz - 2MHz,8位定时器的频率范围为31Hz - 2MHz

调用SetPinFrequency()/ SetPinFrequencySafe(),返回一个bool,可以对其进行测试以验证频率实际上已改变。

相关论坛文章整理:
//
Arduino系列教程之 – PWM的秘密(上)(转)
//
http://www.geek-workshop.com/forum.php?mod=viewthread&tid=119&highlight=Arduino%CF%B5%C1%D0%BD%CC%B3%CC%D6%AE%2B%A8C%2BPWM%B5%C4%C3%D8%C3%DC
//
Arduino系列教程之 – PWM的秘密(下)(转)
//
http://www.geek-workshop.com/forum.php?mod=viewthread&tid=120&highlight=PWM
//
OCROBOT入门教程027–改变PWM频率
//
http://www.geek-workshop.com/forum.php?mod=viewthread&tid=9595&highlight=PWM%C6%B5%C2%CA

你可能感兴趣的:(Arduino)