STM32CubeMX定时器配置界面介绍

slave mode从模式:  

从模式控制器 ,共有五种模式。 Disable(不使能)、外部时钟模式1,复位模式,门级驱动模式,触发模式。

External Clock Mode1

如图是时钟源的选择,可以有内部、外部输入引脚1和2、内部触发输入(多个定时器级联)。这个主要选择计数器的计数时钟来源,一般选择内部时钟就够了,需要多个定时器一起作用时候可以选择其他模式,slave mode:中External Clock Mode1 就是对应这一条。

从模式——复位模式:

在发生一个触发输入事件时,计数器和它的预分频器能够重新被初始化;同时,如果TIMx_CR1寄存器的URS位为低,还会产生一个更新事件UEV;然后所有的预装载寄存器(TIMx_ARR, TIMx_CCRx)都会被更新。

计数器开始依据内部时钟计数,然后正常运转直到TI1出现一个上升沿;此时,计数器被清零然后从0重新开始计数。同时,触发标志(TIMx_SR寄存器中的TIF位)被设置,根据TIMx_DIER寄存器中TIE(中断使能)位和TDE(DMA使能)位的设置,产生一个中断请求或一个DMA请求。

下图显示当自动重装载寄存器TIMx_ARR=0x36时的动作。在TI1上升沿和计数器的实际复位之间的延时,取决于TI1输入端的重同步电路。

从模式——门控模式

按照选中的输入端电平使能计数器。 在如下的例子中,计数器只在TI1为低时向上计数:

● 配置通道1以检测TI1上的低电平。配置输入滤波器带宽(本例中,不需要滤波,所以保持IC1F=0000)。触发操作中不使用捕获预分频器,所以不需要配置。CC1S位用于选择输入捕获源,置TIMx_CCMR1寄存器中CC1S=01。置TIMx_CCER寄存器中CC1P=1以确定极性(只检测低电平)。

● 置TIMx_SMCR寄存器中SMS=101,配置定时器为门控模式;置TIMx_SMCR寄存器中TS=101,选择TI1作为输入源。

● 置TIMx_CR1寄存器中CEN=1,启动计数器。在门控模式下,如果CEN=0,则计数器不能启动,不论触发输入电平如何。 只要TI1为低,计数器开始依据内部时钟计数,在TI1变高时停止计数。当计数器开始或停止时都设置TIMx_SR中的TIF标置。 TI1上升沿和计数器实际停止之间的延时,取决于TI1输入端的重同步电路。

从模式——触发模式

输入端上选中的事件使能计数器。 在下面的例子中,计数器在TI2输入的上升沿开始向上计数:

● 配置通道2检测TI2的上升沿。配置输入滤波器带宽(本例中,不需要任何滤波器,保持IC2F=0000)。触发操作中不使用捕获预分频器,不需要配置。CC2S位只用于选择输入捕获源,置TIMx_CCMR1寄存器中CC2S=01。置TIMx_CCER寄存器中CC2P=1以确定极性(只检测低电平)。

● 置TIMx_SMCR寄存器中SMS=110,配置定时器为触发模式;置TIMx_SMCR寄存器中TS=110,选择TI2作为输入源。 当TI2出现一个上升沿时,计数器开始在内部时钟驱动下计数,同时设置TIF标志。

TI2上升沿和计数器启动计数之间的延时,取决于TI2输入端的重同步电路。

TriggerPolarity(触发极性)

● 外部时钟模式1: 定时器的外部输入脚(TIx)或TIx_FPx(如TI1FP1、TI2FP2等)。

● 外部时钟模式2:定时器的特定输入通道ETR(External Trigger Input)

● 内部触发输入(ITRx):使用一个定时器作为另一个定时器的预分频器

  • ETR1:外部信号,来自定时器的 ETR 引脚。             
  • ITRx:内部信号,常来自其它定时器的输出,具体定时器间连接关系需要查阅相应芯片的文档。  
  • TIxFPx:内部信号,来自定时器的特定引脚的输入检测 IC(输入捕获时常用)

Clock Source时钟

Internal Clock为内部时钟。

ETR2 外部触发输入模式2(ETR),意思外接界的其他信号源。

这里介绍一下外部触发输入模式2(ETR)

st-img

第一种方式,此时来自ETR脚的信号经过滤波、边沿检测和极性选择后,以触发信号的角色连接到从模式控制器,并作为定时器的时钟源,即上图中的1路。
第二种方式,来自ETR脚的时钟信号经过极性选择、分频、滤波后不经过从模式控制器,而是像内部时钟源一样直接为计数器提供计数时钟,即上图中的2路。

Channel1通道1

接下来就是定时器的通道,这里就要区分定时器下面是定时器1的Channel1

下面是定时器2的Channel1

接下来就是具体配置定时器的参数:

Prescaler :该参数为时钟源预分频系数,

Counter Mode :计数模式,可以选择向上、向下、中心对齐等计数方式;

Counter Period :自动重装寄存器ARR值,该参数决定了生成PWM的周期,

auto-reload preload :预装载自动重装,设置为Enable后,当修改ARR的值时会在下一个UEV事件生效,否则表示不适用预装载,修改其值会立即生效;

TRGO Parameters    触发输出 (TRGO)               不使能    与本节无关

TRGO:    定时器的触发信号输出  在定时器的定时时间到达的时候输出一个信号(如:定时器更新产生TRGO信号来触发ADC的同步转换,) 

Mode :可以选择模式1/模式2,这两种模式区别为生成的PWM波形不一样,选择PWM模式1且向上计数时,当Pulse值<计数值ARR时此时通道输出有效状态,否则为无效状态,

当选择PWM模式2时刚好与模式1相反。如下面两个PWM波形中,上图为采用PWM模式1,通道极性为高电平时产生的PWM波,下图为采用PWM模式2,通道极性为高时产生的PWM波;

Pulse :即捕获/比较寄存器CRR的值,通过设置该参数可以决定PWM的脉冲宽度

Output compare preload :输出比较预装载,设置为Enable后,当修改Pulse的值时会在下一个UEV事件生效,否则会立即生效;

CH Polarity :通道极性,设置通道有效状态;

输入捕获模式

Polarity selection;极性选择  上升或者下降

lc selection :直接或者间接模式

Prescaler Division Ration:  预分频器设置

inputer filter: 输入绿波器时间设置

DMA1  channel2 global interrupt :     dma1 通道2全局中断

DMA1  channel3 global interrupt :    dma1 通道3全局中断

DMA1  channel4 global interrupt :  dma1 通道4全局中断

DMA1  channel6 global interrupt :  dma1 通道6全局中断

TIM1 break interrupt:        TIM1中断

TIM1 update interrupt:    TIM1更新中断

TIM1 capture compare interrupt :   TIM1捕获比较中断

在使用STM32CubeMX配置定时器时,可以按照以下步骤进行操作。首先,你需要选择适当的定时器,根据你的需求选择基本定时器(如TIM6、TIM7)或通用定时器(如TIM2~TIM5)或高级定时器(如TIM1、TIM8)\[2\]。然后,你需要设置时钟源,RCC设置时钟以及设置定时器的项目文件\[2\]。接下来,你需要配置预分频和计数周期来实现1ms的定时器。例如,如果你的内部时钟周期设置为24M,你可以将Prescaler设置为(24-1),Counter Period设置为(1000-1)\[3\]。这样设置的数字可以根据实际需求进行调整,只要能够实现1ms的定时即可\[3\]。通过这些步骤,你就可以成功配置定时器了。 #### 引用[.reference_title] - *1* *2* [STM32CubeMX——定时器配置](https://blog.csdn.net/weixin_45710877/article/details/128193023)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [STM32CubeMX学习四 之定时器配置](https://blog.csdn.net/weixin_42648781/article/details/126670397)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值