xiaoxiaosaonian 发表于 2015-3-18 20:51:34

弘毅大哥的库定时器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]
查看完整版本: 弘毅大哥的库定时器2A通道输出少一路pwm波