打印
[STM32F3]

TIM20 和TIM8设置相同,但是,没有死区,也没有CH1N,CH2N,输出

[复制链接]
1189|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ht_chb|  楼主 | 2016-7-13 10:40 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ht_chb 于 2016-7-14 08:33 编辑

  TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
  TIM_OCInitTypeDef  TIM_OCInitStructure;
  TIM_BDTRInitTypeDef TIM_BDTRInitStructure;

  uint16_t Channel1Pulse = 0, Channel2Pulse = 0;


  Channel1Pulse = TIM20OC1_MIN_DC;
  Channel2Pulse = TIM20OC2_MIN_DC;        



  /* Time Base configuration */
  TIM_TimeBaseStructure.TIM_Prescaler = TIM20PRESC;
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
  TIM_TimeBaseStructure.TIM_Period = TIM20ARR;
  TIM_TimeBaseStructure.TIM_ClockDivision = 0;
  TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;

  TIM_TimeBaseInit(TIM20, &TIM_TimeBaseStructure);
        

  
  //Æô¶¯ARRÓ°×ӼĴæÆ÷,Ö±µ½¸üÐÂʼþ²ÅÉèÖÃ
  TIM_ARRPreloadConfig(TIM20, ENABLE);        


  /* Channel 1, 2,3 and 4 Configuration in PWM mode */
  TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1 ;
  TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
  TIM_OCInitStructure.TIM_OutputNState =TIM_OutputNState_Enable;
  TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
  TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High;
  TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Reset;
  TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Reset;
        
  //ͨµÀ1
        TIM_OCInitStructure.TIM_Pulse = Channel1Pulse;
  TIM_OC1Init(TIM20, &TIM_OCInitStructure);
        //Æô¶¯OC1Ó°×ӼĴæÆ÷,Ö±µ½¸üÐÂʼþ²ÅÉèÖÃ
        TIM_OC1PreloadConfig(TIM20, TIM_OCPreload_Enable);


  //ͨµÀ2
  TIM_OCInitStructure.TIM_Pulse = Channel2Pulse;
  TIM_OC2Init(TIM20, &TIM_OCInitStructure);
        //Æô¶¯OC2Ó°×ӼĴæÆ÷,Ö±µ½¸üÐÂʼþ²ÅÉèÖÃ
        TIM_OC2PreloadConfig(TIM20, TIM_OCPreload_Enable);        

        
      
               

  //ÉèÖÃËÀÇøʱ¼ä
  TIM_BDTRInitStructure.TIM_OSSRState = TIM_OSSRState_Enable;
  TIM_BDTRInitStructure.TIM_OSSIState = TIM_OSSIState_Enable;
  TIM_BDTRInitStructure.TIM_LOCKLevel = TIM_LOCKLevel_3;
  TIM_BDTRInitStructure.TIM_DeadTime  = ALL_DeadTime;  
  TIM_BDTRInitStructure.TIM_Break = TIM_Break_Disable;
  TIM_BDTRInitStructure.TIM_BreakPolarity = TIM_BreakPolarity_High;
  TIM_BDTRInitStructure.TIM_AutomaticOutput = TIM_AutomaticOutput_Enable;
  TIM_BDTRConfig(TIM20, &TIM_BDTRInitStructure);
                                                        
        
        
  /* TIM20 counter enable */
  TIM_Cmd(TIM20, ENABLE);
  
  /* TIM20 Main Output Enable */
  TIM_CtrlPWMOutputs(TIM20, ENABLE);
沙发
ht_chb|  楼主 | 2016-7-13 10:41 | 只看该作者
芯片是STM32F303ZET6

使用特权

评论回复
板凳
dentsgot| | 2016-7-13 13:09 | 只看该作者
ht_chb 发表于 2016-7-13 10:41
芯片是STM32F303ZET6

没有用过这个功能,希望懂的大侠来讲解一下

使用特权

评论回复
地板
mmuuss586| | 2016-7-13 19:37 | 只看该作者
配置到哪个引脚了?
是不是引脚配置问题

使用特权

评论回复
5
ht_chb|  楼主 | 2016-7-14 08:29 | 只看该作者
找到了,是 库有问题(关于TIM20的)

使用特权

评论回复
6
ht_chb|  楼主 | 2016-7-14 08:31 | 只看该作者
这个之前的现象

(398.3 KB )

这是修改库之前的

这是修改库之前的

使用特权

评论回复
7
ht_chb|  楼主 | 2016-7-14 08:32 | 只看该作者
这个是修改后的,也是我想要的

4UW{%`C7Q7A]~N2`AN2H.jpg (427.23 KB )

4UW{%`C7Q7A]~N2`AN2H.jpg

使用特权

评论回复
8
xmshao| | 2016-7-14 16:57 | 只看该作者
你是换了版本 还是修改库文件?

使用特权

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

本版积分规则

15

主题

56

帖子

0

粉丝