Nuru_Banmian
Nuru_Banmian
Published on 2025-05-26 / 62 Visits
0
0

通用定时器-输出比较功能-使用PWM用到的寄存器

1. 计时器技术方向

代码

/* 5. 计数器计数方向: 0:向上计数 1:向下计数 */
TIM5->CR1 &= ~TIM_CR1_DIR;

寄存器

通用定时器_控制寄存器CR1.png

通用定时器_计数模式_DIR.png

2. 配置通道方向

代码

/* 6. CH2通道配置为输出 00表示输出 */
TIM5->CCMR1 &= ~TIM_CCMR1_CC2S;

寄存器

通用定时器_捕获or比较模式寄存器_CCMR1_1.png

通用定时器_捕获or比较模式寄存器_模式选择_CC2S.png

3. 配置输出比较模式

代码

/* 7. 配置CH2的输出比较模式(8种模式,选择PWM1模式)110 */
TIM5->CCMR1 |= TIM_CCMR1_OC2M_2;
TIM5->CCMR1 |= TIM_CCMR1_OC2M_1;
TIM5->CCMR1 &= ~TIM_CCMR1_OC2M_0;

寄存器

通用定时器_捕获or比较模式寄存器_CCMR1_2.png

通用定时器_捕获or比较模式寄存器_输出比较模式选择_OC1M.png

4. 比较输出模式下的比较值

代码

/* 8. 给CH2的CCR2寄存器设置比较值。比如设置为50,重装载计数器的值是100,占空比就是50% */
TIM5->CCR2 = 50;

寄存器

通用定时器_捕获or比较模式寄存器_比较值设置_CCR2.png

5. 配置通道极性和使能

代码

/* 9. 设置CH2通道的极性: 0高电平有效 or 1低电平有效 */
TIM5->CCER &= ~TIM_CCER_CC2P;
/* 10. 使能CH2通道 0: 关闭 1:开启*/
TIM5->CCER |= TIM_CCER_CC2E;

寄存器

通用定时器_捕获or比较模式寄存器_CCER.png

通用定时器_捕获or比较模式寄存器_输出极性设置和使能.png


Comment