|
发表于 2015-3-17 20:14:36
|
显示全部楼层
无为 发表于 2014-11-10 11:05
如果我要指定多个引脚的频率怎么设定?需要修改库吗?
最近实验了下,可以同时控制两个引脚的PWM的值
你好,不知道你是否将timer2的pwm波输出搞定了了,我也是用的弘毅大哥的pwm库,要输出4路pwm波,发现timer2A控制的11脚没有输出,timer2B的3脚有,查看库文件里面发现pwmwrite函数里面没有写timer2A,但是加上去之后A、B都没有输出了,然后pwmwriteHR函数timer2也是没有输出的,代码如下,求大神知道- #include <PWM.h>
- int pwm1 = 9; // led所连接到的引脚
- int pwm2 = 10;
- int pwm3 = 3;
- int pwm4 = 11;
- int speed1 = 28; // led的亮度,也就是占空比,范围是0-255
- int speed2 = 38;
- int speed3 = 28;
- int speed4 = 36;
- int32_t frequency = 100; // 频率 (单位是Hz)
- void setup()
- {
- //delay(2000);
- // 初始化除了0号计时器以外的其他计时器
- InitTimersSafe();
- // 设置指定引脚的频率
- bool success1 = SetPinFrequencySafe(pwm1, frequency);
- bool success2 = SetPinFrequencySafe(pwm2, frequency);
- bool success3 = SetPinFrequencySafe(pwm3, frequency);
- bool success4 = SetPinFrequencySafe(pwm4, frequency);
-
-
- // for(speed1=28;speed1<34;speed1++)
- // {pwmWrite(pwm1, speed1);
- // delay(1000);}
- speed1=34;
- pwmWrite(pwm2, speed2);
- pwmWrite(pwm3, speed3);
- pwmWrite(pwm4, speed4);
- }
- void loop()
- {
- pwmWrite(pwm1, 500);
- pwmWrite(pwm2, speed2);
- pwmWrite(pwm3, speed3);
- pwmWrite(pwm4, speed4);
- delay(30);
- }
复制代码 |
|