打印

PWM输出讯号如何关闭

[复制链接]
1493|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
古代人|  楼主 | 2013-4-22 19:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PWM 设定程式如下
//...TCC 2013 03/25 PWM設定(馬達動作用(20k震盪)) 短手用                                                      
void TIM5_CH1_(void)                                                                        
{                                                                                                            
   TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;                                                           
   TIM_OCInitTypeDef  TIM_OCInitStructure;                                                                  
   TIM_TimeBaseStructure.TIM_Prescaler         = 2;                                                         
   TIM_TimeBaseStructure.TIM_CounterMode       = TIM_CounterMode_Up;                                         
   TIM_TimeBaseStructure.TIM_Period            = 1200;                                                      
   TIM_TimeBaseStructure.TIM_ClockDivision     = TIM_CKD_DIV1;                                               
   TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;                                                         
   TIM_TimeBaseInit(TIM5, &TIM_TimeBaseStructure);                                                           
   TIM_OCInitStructure.TIM_OCMode              = TIM_OCMode_PWM2;                                            
   TIM_OCInitStructure.TIM_OutputState         = TIM_OutputState_Enable;                                    
   TIM_OCInitStructure.TIM_OutputNState        = TIM_OutputNState_Enable;                                    
   TIM_OCInitStructure.TIM_Pulse               = 200;//(TIM_TimeBaseStructure.TIM_Period+1)/2; //duty cycle  
   TIM_OCInitStructure.TIM_OCPolarity          = TIM_OCPolarity_Low ;                                       
   TIM_OCInitStructure.TIM_OCNPolarity         = TIM_OCNPolarity_High;                                       
   TIM_OCInitStructure.TIM_OCIdleState         = TIM_OCIdleState_Set;                                       
   TIM_OCInitStructure.TIM_OCNIdleState        = TIM_OCIdleState_Reset;                                      
   TIM_OC1Init(TIM5, &TIM_OCInitStructure);                                                                  
                                                                                                            
   //TIM_Cmd(TIM5, ENABLE);                       // TIM1 counter enable                                    
                                                                                                            
   TIM_SetCompare1(TIM5,600);                                                                                
                                                                                                                                                                                   
}                                                                                                            

程式1开始执行时PWM就1值在震盪,就算是TIM_CtrlPWMOutputs(TIM5, DISABLE);
也停不下来,要设定TIM_Cmd(TIM5, DISABLE); 才能停下

请问:TIM_CtrlPWMOutputs(TIM5, DISABLE);不是关闭PWM指令吗?
         关闭PWM的指令到地是什麽?

请高手们指点  谢谢


沙发
dream_yi| | 2013-4-24 22:34 | 只看该作者
TIM_CtrlPWMOutputs()不是只有高级定时器才能用的吗?貌似函数库手册里没有关于通用定时器用它的啊。

使用特权

评论回复
板凳
uet_cache| | 2013-4-25 09:15 | 只看该作者
楼上有理。TIM_CtrlPWMOutputs是针对高级定时器的BDTR寄存器操作的,所以只对高级定时器TIM1和TIM8有效。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

14

帖子

0

粉丝