外部中断控制占空比

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
2019-08-17 07:04
正点原子 发表于 2016-3-17 23:23
可以才对哦.你吧led0pwmval的值打印出来看看.

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

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

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


一周热门 更多>