• stm32f334定时器配置详细解释


    HTIMER1时钟及频率配置

    在这里插入图片描述
    在这里插入图片描述
    STM32F334有一个高级定时器,简单来说就是stm32F3最高时钟72M,而高级定时器的外设可以倍频,将时钟以及定时器的分辨率提高。这里时钟频率设定为128M,倍频16倍,时钟为2048M,然后分频10240,最后输出PWM频率为200KHz。

    定时器设定配置

    在这里插入图片描述

    Half Mode模式(半占空比模式)

    硬件基于给定的计数周期值自动输出占空比为50%的方波,我们无须对比较寄存器的值再进行设置,默认使用比较寄存器cmp1,硬件自动将用户设置的分频值的一半赋给CMP1寄存器。换言之,用户此时无法对CMP1寄存器进行赋值。

    同步sync

    将一个定时器用作另一个定时器的预分频器
    门控模式
    触发模式
    同步出发两个定时器
    可以看看
    DAC同步:就是在一个周期内触发DAC更新数据。

    加载启用Preload enabled

    在这里插入图片描述

    首先了解一下影子寄存器,图中有这样一句话在这里插入图片描述
    寄存器表示具有预加载的寄存器,这表示物理上这个寄存器对应2个寄存器:一个是我们可以可以写入或读出的寄存器,称为预装载寄存器,另一个是我们看不见的、无法真正对其读写操作的,但在使用中真正起作用的寄存器,称为影子寄存器。预装寄存器是我们可以操作的寄存器。

    影子寄存器的作用:

    设计预装载寄存器和影子寄存器的好处是,所有真正需要起作用的寄存器(影子寄存器)可以在同一个时间(发生更新事件时)被更新为所对应的预装载寄存器的内容,这样可以保证多个通道的操作能够准确地同步。如果没有影子寄存器,软件更新预装载寄存器时,则同时更新了真正操作的寄存器,因为软件不可能在一个相同的时刻同时更新多个寄存器,结果造成多个通道的时序不能同步,如果再加上例如中断等其它因素,多个通道的时序关系有可能会混乱,造成是不可预知的结果。
    Preload enabled就是使能预装载,如果禁用就是立即更新。
    参考学习

    update geting

    blog.csdnimg.cn/881a95ab15c246d8a5081e038fc3f509.png)

    一组有限的中断/DMA请求:比较器1…4、重复寄存器更新和外部同步事件。

    Repetition Update

    此位定义主定时器重复周期结束时是否发生更新

    Burst mode

    burst突发模式:定时器的BURST传输,就是指当产生某定时器事件时,可以产生多个DMA请求,并触发多次DMA传输,访问多个定时器寄存器实现从内存到寄存器或从寄存器到内存的数据传输。这里的定时器事件可以是更新事件、比较匹配事件、换相事件以及触发事件。学习
    主定时器突发模式该位定义了定时器在突发模式操作期间的行为。启用突发模式时,无法更改此位字段。
    0:主定时器计数器时钟保持正常,定时器工作正常
    1: 主定时器计数器时钟停止,计数器复位

    push pull

    推挽输出选择
    在这里插入图片描述
    关于故障数要启用的错误数必须介于0和5之间和故障标志位只读

    dead time insertion

    选择在两输出之间插入死区,或者两输出独立。

    delay portection mode

    延时保护模式

  • 相关阅读:
    数组排序(O(n的二次方))
    短视频时代的领军者:TikTok能否引领数字创新浪潮?
    GESP:2024-6月等级5-T1-黑白格
    OpenCV-Python实战(2) —— 使用OpenCV的绘图功能创建OpenCV的徽标
    Ubuntu关闭休眠模式
    二、Prometheus常用exporter安装详解
    AVL 平衡二叉搜索树
    uniapp 解决H5跨域的问题
    又一重磅利好来袭!Zebec Payroll 集成至 Nautilus Chain 主网
    ES mapping之keyword;term查询添加keyword查询;更改mapping keyword类型
  • 原文地址:https://blog.csdn.net/weixin_42914004/article/details/126175507