原子哥,我想使用按键的中断来控制PWM的占空比。
void EXTI0_IRQHandler(void)
{
delay_ms(10); //消抖
if(WK_UP==1)
{
LED0=!LED0;
led0pwmval+=50;
TIM_SetCompare1(TIM2,led0pwmval);
}
EXTI_ClearITPendingBit(EXTI_Line0); //清除EXTI0线路挂起位
}
PWM有初始化的10%的占空比输出;
按键按下LED也会正常亮灭;
可就是占空比不会改变。
另,
main中有u16 led0pwmval=100;
extr.c中有extern u16 led0pwmval;
还有什么问题呢?谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
发现错误了,我PWM用的第二个通道,改变的是第一个通道CCR。
又出现了另一个问题:
我用两个按键来控制PWM的输出与终止,两个按键分别按下时可以切换,但终止输出时相应的管脚为什么有时是高电平有时是低电平呢????
我用的定时器的使能与失能。
就看终止的时候,PWM当前是高还是低了。
能强制置低吗??
还有,用pwm来直接驱动直流电机,是不是不行,得用放大电路?三极管还是光耦?
大佬 能给我发一下你最后成功的程序吗。。?
一周热门 更多>