外部中断控制占空比

2019-08-17 03:57发布

原子哥,我想使用按键的中断来控制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;

还有什么问题呢?谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
love001cool
1楼-- · 2019-08-17 07:04
正点原子 发表于 2016-3-17 23:23
可以才对哦.你吧led0pwmval的值打印出来看看.

发现错误了,我PWM用的第二个通道,改变的是第一个通道CCR。

又出现了另一个问题:
我用两个按键来控制PWM的输出与终止,两个按键分别按下时可以切换,但终止输出时相应的管脚为什么有时是高电平有时是低电平呢????

我用的定时器的使能与失能。


正点原子
2楼-- · 2019-08-17 11:11
 精彩回答 2  元偷偷看……
正点原子
3楼-- · 2019-08-17 13:13
love001cool 发表于 2016-3-18 11:17
发现错误了,我PWM用的第二个通道,改变的是第一个通道CCR。

又出现了另一个问题:

就看终止的时候,PWM当前是高还是低了。
love001cool
4楼-- · 2019-08-17 14:02
正点原子 发表于 2016-3-19 14:05
就看终止的时候,PWM当前是高还是低了。

能强制置低吗??
love001cool
5楼-- · 2019-08-17 16:28
正点原子 发表于 2016-3-19 14:05
就看终止的时候,PWM当前是高还是低了。

还有,用pwm来直接驱动直流电机,是不是不行,得用放大电路?三极管还是光耦?
高瑾妍
6楼-- · 2019-08-17 17:58
love001cool 发表于 2016-4-10 10:01
还有,用pwm来直接驱动直流电机,是不是不行,得用放大电路?三极管还是光耦?

大佬 能给我发一下你最后成功的程序吗。。?

一周热门 更多>