pwm发一定数量的脉冲

2019-08-13 18:56发布

主函数:
int main(void)
{        
     int steps=10;     
         delay_init(); //延时函数初始化

       TIM2_PWM_Init(199,7199);//不分频。PWM频率=72000/(199+1)(7199+1)=50hz 20ms
     
     while(1)
     {

     delay_us(10);
          TIM_SetCompare1(TIM2,80);//(tim1,ccr1)占空比=ccr/arr
    if(steps==0)            
        {
                    TIM_Cmd(TIM2,DISABLE);
                    break;
      }   

     steps--;
         
    }

}
请问各位大神,为什么实现不了

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
Matthew007
1楼-- · 2019-08-13 19:58
 精彩回答 2  元偷偷看……
szczyb1314
2楼-- · 2019-08-14 01:10
你的if-break用的不合适
来俩不甜的
3楼-- · 2019-08-14 02:42
开溢出中断,每溢出一次输出一个完整的pwm波。故若输出n个波,需要溢出n次,此时我试过不要关tim2,只需要禁止pwm波形输出就好了,具体的看手册忘记哪个寄存器可以配置是否输出pwm了
陆风32
4楼-- · 2019-08-14 02:45
主从即可

一周热门 更多>