打印
[其他ST产品]

STM32用TIM1产生互补PWM,怎么配置让它是高电平

[复制链接]
782|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
求助各位大侠
      本人在用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);

使用特权

评论回复
沙发
香水城| | 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 | 只看该作者
配置的有问题吧

使用特权

评论回复
5
jkl21| | 2023-7-5 10:38 | 只看该作者
输入输出信号如何配置?               

使用特权

评论回复
6
robincotton| | 2023-7-5 14:54 | 只看该作者
互补通道和普通通道是互补的               

使用特权

评论回复
7
gygp| | 2023-7-5 14:59 | 只看该作者
PWM输出极性设置为高               

使用特权

评论回复
8
AloneKaven| | 2023-7-5 18:17 | 只看该作者
互补通道开了吗?

使用特权

评论回复
9
sheflynn| | 2023-7-5 20:48 | 只看该作者
如何运用STM32 的一个通用定时器产生频率可调的PWM

使用特权

评论回复
10
louliana| | 2023-7-6 11:30 | 只看该作者
设置默认输出极性               

使用特权

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

本版积分规则

966

主题

2956

帖子

7

粉丝