[其他ST产品] STM32用TIM1产生互补PWM,怎么配置让它是高电平

[复制链接]
2048|9
 楼主| elephant00 发表于 2023-6-27 10:24 | 显示全部楼层 |阅读模式
求助各位大侠
      本人在用tiM1定时器实现互补PWM输出时,需要CH1通道产生PWM波形,互补通道CH1N 一直是高电平。
      现在的问题是CH1通道能产生想要的PWM波形,可互补通道CH1N 一直是低电平,这里该怎么配置让它是高电平呢?求指点,非常感谢!
      见如下图片?红色是我**的波形,实际上是下面的波形。
   
     程序设置
         TIM_OCInitStructure.TIM_OCMode       = TIM_OCMode_Timing;
         TIM_OCInitStructure.TIM_OutputState  = TIM_OutputState_Enable;
         TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable;
         TIM_OCInitStructure.TIM_Pulse = CCR1_Val ; //ÉèÖÃÕ¼¿Õ±È
         TIM_OCInitStructure.TIM_OCPolarity   =  TIM_OCPolarity_High;   
         TIM_OCInitStructure.TIM_OCNPolarity  =  TIM_OCPolarity_High;  
         TIM_OCInitStructure.TIM_OCIdleState  =  TIM_OCIdleState_Set;   
         TIM_OCInitStructure.TIM_OCNIdleState =  TIM_OCIdleState_Reset;
        这个是PWM设置,在通信事件触发的情况下,
        配置:
       TIM_SelectOCxM(TIM1, TIM_Channel_1, TIM_OCMode_PWM1);
      TIM_CCxCmd(TIM1, TIM_Channel_1, TIM_CCx_Enable);
      TIM_CCxNCmd(TIM1,TIM_Channel_1, TIM_CCxN_Disable);
63807649a48632607d.png
香水城 发表于 2023-6-30 07:10 | 显示全部楼层
本帖最后由 香水城 于 2023-6-30 08:15 编辑

你关闭了互不通道的输出,若**其最终保持高电平输出,你把它的极性配置为低试试,

  TIM_OCInitStructure.TIM_OCNPolarity  =  TIM_OCPolarity_Low;
szt1993 发表于 2023-6-30 17:41 | 显示全部楼层
楼主设置不正确,应该开始互补通道就会出来相应的波形了
Undshing 发表于 2023-7-1 22:17 | 显示全部楼层
配置的有问题吧
jkl21 发表于 2023-7-5 10:38 | 显示全部楼层
输入输出信号如何配置?               
robincotton 发表于 2023-7-5 14:54 | 显示全部楼层
互补通道和普通通道是互补的               
gygp 发表于 2023-7-5 14:59 | 显示全部楼层
PWM输出极性设置为高               
AloneKaven 发表于 2023-7-5 18:17 | 显示全部楼层
互补通道开了吗?
sheflynn 发表于 2023-7-5 20:48 | 显示全部楼层
如何运用STM32 的一个通用定时器产生频率可调的PWM
louliana 发表于 2023-7-6 11:30 | 显示全部楼层
设置默认输出极性               
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1033

主题

4066

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部