我来提供解决方法,但不吐槽。
1.官方已经有定时器库了,目前有两个:
Timer1.zip
5.71KB
ZIP
23次下载
Timer3.zip
6.83KB
ZIP
28次下载
使用方法参见文档:
Arduino定时器官方库.docx
22.06KB
DOCX
36次下载
2.上面那两个库可以设置PWM频率。
需要特别注意的是,硬件PWM使用了定时器本身的功能,所以如果你改了频率,一些计时函数会出问题,比如micros()micros是timer0的,timer1和timer3库不会影响它,原来搞错了。
3.avr.h那些端口函数是可以直接用的,比如说PORTD=0x00,速度就很快。