弘毅大哥的库定时器2A通道输出少一路pwm波
将弘毅大哥的pwm库添加应用,通过定时器输出PWM波,我想要四路pwm波,分别用timer1和timer2控制,timer1输出两路pwm波什没有问题的,但是timer2的A通道控制11脚没有输出,我写的代码很简单,01.#include <PWM.h>
02.
03.int pwm1 = 9;// led所连接到的引脚
04.int pwm2 = 10;
05.int pwm3 = 11;
06.int pwm4 = 3;
07.int speed1 = 33; // led的亮度,也就是占空比,范围是0-255
08.int speed2 = 33;
09.int speed3 = 33;
10.int speed4 = 33;
11.int32_t frequency = 100; // 频率 (单位是Hz)
12.
13.void setup()
14.{
15. // 初始化除了0号计时器以外的其他计时器
16. InitTimersSafe();
17.// 设置指定引脚的频率
18. bool success1 = SetPinFrequencySafe(pwm1, frequency);
19. bool success2 = SetPinFrequencySafe(pwm2, frequency);
20. bool success3 = SetPinFrequencySafe(pwm3, frequency);
21. bool success4 = SetPinFrequencySafe(pwm4, frequency);
22.}
23.
24.void loop()
25.{
26. pwmWrite(pwm1, speed1);
27. pwmWrite(pwm2, speed2);
28. pwmWrite(pwm3, speed3);
29. pwmWrite(pwm4, speed4);
30.delay(30);
31.}
然后我就去查看弘毅大哥的cpp文件,发现他没有写入timer2A通道,我加上去之后发现整个timer2都没有pwm波输出了,百思不得其解,我就用arduino返回寄存器TCCRnX,OCRnX,的值,发现定时器1处于CTC模式,但是有pwm波输出,定时器2处于相位修正pwm输出模式,但是没有pwm输出,更是无法理解,还望各位大神指导一下,在这里附上弘毅大哥的pwm库,求指导。
页:
[1]