TIM通用定时器(二):输出比较——翻转模式

本文详细介绍了STM32 TIM3通用定时器的输出比较功能,特别是翻转模式的配置和工作原理。通过设置计数器、比较寄存器和中断服务程序,实现不同频率的PWM信号输出。文章提供了具体的代码示例,展示了如何配置TIM3的4个通道,以及在中断服务程序中更新比较寄存器值以维持固定的翻转周期。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、基本概念理解

1. 输出比较:打开一个TIMx计数器,再打开TIMx的一路或几路输出比较器(共4路),都配置好以后,计数器开始计数,当计数器里的值和

                   比较寄存器里的值相等时,产生输出比较中断,在中断中将计数器中的值读出,与翻转周期相加再写道比较寄存器中,使得和

                   下一个事件有相同的翻转周期。

2. 举例说明:例如TIM时钟频率设置为12MHZ,输出比较寄存器中的自装载值为600(高电平或低电平计数值),则输出的PWM频率为

                   frequency = 12MHZ/(600*2)=10KHZ。

二、程序设计与分析

1.  TIM计数器和输出比较器的配置

uint16_t capture = 0;
extern __IO uint16_t CCR1_Val;
extern __IO uint16_t CCR2_Val;
extern __IO uint16_t CCR3_Val;
extern __IO uint16_t CCR4_Val;

 

 

void TIM_Configuration(void)
{

/* Time base configuration */
  TIM_TimeBaseStructure.TIM_Period = 65535;         

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值