zoukankan      html  css  js  c++  java
  • STM32的PWM输出极性的问题

    又开始玩PWM, 先试了一下PWM的两个引脚输出相反极性, 但是分析仪上看到, 两个脚是一样一样的.

    写是这么写的:

    ...

       
          TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM2;
          TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;
            
          TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;      
          TIM_OC2Init(TIM3,&TIM_OCInitStructure);    //TIM3_CH2        
            
          TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_Low;   //TIM3_CH1
          TIM_OC1Init(TIM3,&TIM_OCInitStructure);

    ...

    我以为区别仅仅是输出电平一个高一个地,就可以.

    因为我听原子哥说, PWM1模式跟2的区别是, CNT的值是大于CCR还是小于时候起作用.

    这里有一个啪啪打脸:

    http://www.openedv.com/thread-46264-1-1.html

    引用如下:

    ------------------------------------------

    如果是PWM1模式

    如果设置TIM_OCPolarity_High     TIMx_CNT<TIMx_CCR输出为高电平   TIMx_CNT>TIMx_CCR输出为低电平
                                      
    如果设置TIM_OCPolarity_Low      TIMx_CNT<TIMx_CCR输出就为低电平  TIMx_CNT><TIMx_CCR输出就为高电平

    如果是PWM2模式

    如果设置TIM_OCPolarity_High     TIMx_CNT>TIMx_CCR输出为低电平   TIMx_CNT>TIMx_CCR输出为高电平 
                                                                  

     如果设置TIM_OCPolarity_Low      TIMx_CNT>TIMx_CCR输出就为高电平  TIMx_CNT<TIMx_CCR输出就为低电平

    解果发现直接用PWM1, 搞定.

    还可以参考这个例子:

    http://www.cnblogs.com/zyqgold/archive/2013/05/26/3100377.html

    发现有些引脚是天生的反向, 牛逼!

  • 相关阅读:
    CSS3 background-size:cover/contain
    CSS3 filter(滤镜) 属性
    tomcat生成catalina.out文件
    关于海量数据存储与查询的思考
    java DDD 基于maven开发的探讨
    java heap 异常
    项目启动异常
    Windows下apache+tomcat负载均衡
    Objective-C 程序设计(第六版)第十一章习题答案
    Objective-C 程序设计(第六版)第十章习题答案
  • 原文地址:https://www.cnblogs.com/Montauk/p/5488886.html
Copyright © 2011-2022 走看看