• Stm32高级定时器(二)


    Stm32高级定时器(二)

     

    1 主从模式:主?从?

     

    谈论主从,可知至少有两个以上的触发或者驱动信号,stm32内部有多个定时器,可以相互之间驱动或者控制。

    1. 主模式:定时器使能只受驱动时钟控制或者输出控制信号(TRGO)。
    2. 从模式:复位模式, 在发生一个触发输入事件时,计数器和它的预分频器能够重新被初始化;同时,如果IMx_CR1寄存器的URS 位为低,还产生一个更新事件UEV ;然后所有的预装载寄存器(TIMx_ARR ,TIMx_CCRx)都被更新了。
    3. 从模式:门控模式, 计数器的使能依赖于选中的输入端的电平。
    4. 从模式:触发模式, 计数器的使能依赖于选中的输入端上的事件。
    5. 从模式:外部时钟模式+触发模式, 外部时钟模式2可以与另一种从模式(外部时钟模式1和编码器模式除外)一起使用。这时,ETR信号被用作外部时钟的输入,在复位模式、门控模式或触发模式可以选择另一个输入作为触发输入。不建议使用TIMx_SMCR寄存器的TS位选择ETR作为TRGI。

    clip_image002

    clip_image004

    clip_image006

    2 PWM输入模式

    clip_image008

    该模式是输入捕获模式的一个特例,特点:

    • 两个ICx信号被映射至同一个TIx输入。
    • 这2个ICx信号为边沿有效,但是极性相反。
    • 其中一个TIxFP信号被作为触发输入信号,而从模式控制器被配置成复位模式。

    2.1 PWM捕获结果

    TIMx通过过复位启动,复位计数器,TIMx_CCR1捕获TI1的上升沿得到此刻CNT中的值,TIMx_CCR2捕获TI1的下降沿得到此刻CNT中的值,那么有他们的关系就可以得到:

    • TI1周期 = TIMx_CCR1 × CNT周期
    • 占空比 = TIMx_CCR2/ TIMx_CCR1

    2.2 配置实例

    测量输入到TI1上的PWM信号的长度(TIMx_CCR1寄存器)和占空比(TIMx_CCR2 寄存器),具体步骤如下(取决于CK_INT的频率和预分频器的值)

    1. 选择TIMx_CCR1的有效输入:置TIMx_CCMR1寄存器的CC1S=01(选中TI1)。

    2. 选择TI1FP1的有效极性(用来捕获数据到TIMx_CCR1中和清除计数器):置CC1P=0(上升沿有效)。

    3. 选择TIMx_CCR2的有效输入:置TIMx_CCMR1寄存器的CC2S=10(选中TI1)。

    4. 选择TI1FP2的有效极性(捕获数据到TIMx_CCR2):置CC2P=1(下降沿有效)。

    5. 选择有效的触发输入信号:置TIMx_SMCR寄存器中的TS=101(选择TI1FP1)。

    6. 配置从模式控制器为复位模式:置TIMx_SMCR中的SMS=100。

    7. 使能捕获:置TIMx_CCER寄存器中CC1E=1且CC2E=1。

     

    3 PWM输出模式

    脉冲宽度调制模式可以产生一个由TIMx_ARR寄存器确定频率、由TIMx_CCRx寄存器确定占空比的信号。

    由下图可知,TIMx_ARR=8(周期),TIMx_CCRx=4(占空比)

    clip_image010

  • 相关阅读:
    PO-审批设置
    DIS-接收方式设置入口
    网约车
    汽车租赁
    共享单车
    共享充电宝
    佛教四大名山|道教四大名山|五岳|名山
    我读过的诗词文章书籍
    我看过的电影
    redis异常解决:jedis.exceptions.JedisDataException: ERR Client sent AUTH, but no password is set
  • 原文地址:https://www.cnblogs.com/OneFri/p/5925453.html
Copyright © 2020-2023  润新知