STM32----定时器

本文详细介绍了STM32的基本定时器和高级定时器的使用,特别是高级定时器中的PWM互补输出。内容包括定时时间的计算、定时器配置、PWM输出的GPIO初始化、占空比设置等,特别提到了在配置过程中PSC和ARR的特殊处理以及刹车和死区的概念。

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

基本定时器

定时时间计算:(高级、通用定时器一样)
定时器的定时时间等于计数器的中断周期乘以中断的次数。计数器在CK_CNT 的驱动下,计一个数的时间则是 CK_CLK 的倒数,等于: 1/(TIMxCLK/(PSC+1)),产生一次中断的时间则等于:1/(CK_CLK * (ARR+1))。如果在中断服务程序里面设置一个变量 time,用来记录中断的次数,那么就可以计算出我们需要的定时时间等于: 1/CK_CLK* (ARR+1)*time。
在设置时间的时候PSC分频次数要减一(因为官方公式在计算时给PSC加了一),ARR计数次数也要减一(因为定时器是从ARR=0开始计时的)

// 中断优先级配置
static void BASIC_TIM_NVIC_Config(void)
{
   
    NVIC_InitTypeDef NVIC_InitStructure; 
    // 设置中断组为0
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);		
		// 设置中断来源
    NVIC_InitStructure.NVIC_IRQChannel 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值