找回密码
 立即注册
搜索
查看: 1129|回复: 0

STM32 定时器

[复制链接]

267

主题

0

回帖

1154

积分

管理员

积分
1154
发表于 2024-1-1 01:37:18 | 显示全部楼层 |阅读模式

预分频器(TIMx_PSC)

预分频器的值 PSC[15:0],计数器的时钟频率 CK_CNT 等于 fCK_PSC/(PSC[15:0]+1)。也就是说 PSC[15:0] 等于分频数 - 1。

自动重装载寄存器(TIMx_ARR)

自动重装载的值 ARR[15:0],用于作为计数器的初始值(向下计数)或溢出值(向上计数)。下图的 ARR 被设置为 0x36,溢出发生在计数值为 0x36 的后部,所以实际计数了 0x37 个数(从 0 开始)。所以 ARR 的值应该为 计数值 - 1。

PWM

PWM 模式 1

在向上计数时,一旦 TIMx_CNT < TIMx_CCR1 时通道 1 为有效电平,否则为
无效电平;在向下计数时,一旦 TIMx_CNT > TIMx_CCR1 时通道 1 为无效电平(OC1REF=0),否
则为有效电平(OC1REF=1)。

PWM 模式 2

在向上计数时,一旦 TIMx_CNT < TIMx_CCR1 时通道 1 为无效电平,否则为
有效电平;在向下计数时,一旦 TIMx_CNT > TIMx_CCR1 时通道 1 为有效电平,否则为无效电
平。

CC1P:输入/捕获 1 输出极性(Capture/Compare 1 output polarity)
CC1 通道配置为输出:
0:OC1 高电平有效  TIM_OCPolarity_High
1:OC1 低电平有效  TIM_OCPolarity_Low

例如:

TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; //PMW模式1(向上计数时CNT < CCR2时输出低电平)
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_Pulse = TIM_TimeBaseStructure.TIM_Period / 2; //50%占空比
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; //低电平为有效电平
TIM_OC2Init(TIM2, &TIM_OCInitStructure);

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|棱讯科技 ( 粤ICP备2024228160号-2|粤公网安备44030002003510号 )

GMT+8, 2024-11-21 16:43 , Processed in 0.017654 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表