STM32---基本定时器(含源码)小白可入

本文详细介绍了STM32中基本定时器的工作原理、分类、寄存器功能,以及如何配置定时器、启用中断和进行延时操作。通过实例演示了如何使用基本定时器实现LED状态翻转,旨在帮助读者理解和应用STM32定时器技术。

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

写在前面:定时器是STM32中一个十分重要的外设,并且在STM32中具有多个定时器。定时器的包括基本定时器、通用定时器以及高级控制定时器,这些定时器相关独立,不共享任何资源。当然,其难易程度也是逐渐增加的,我们当然是从简答的开始学习。本节就学习基本定时器。

一、定时器概述

1.1软件延时原理

        定时器的一个设计初衷就是为了延时,而我们前面学习过使用软件延时;例如下面这段代码:

void Delay1us()		//@11.0592MHz
{
	_nop_();
	_nop_();
	_nop_();
}

        其作用就是使晶振为11.0529Mhz的51单片机延时1微秒,它是如何进行延时的呢?是因为对于单片机来说,运行每一条程序都是需要一定的时间的,那么执行一定长度的没有实际作用的代码就能够延时CPU的一些时间,这就是软件延时的原理。

        但是这种延时方式具有一些缺点,最明显的就是:延时时间不准确以及CPU死等

1.2定时器定时原理

        使用精确的时基,通过硬件的方式,实现定时功能,其核心是:计数器。与前面学习的看门狗有一定的相似之处。

1.3定时器分类 

1.4STM32定时器特性

类型 名称 计数器类型 预分频系数 能否产生DMA请求 功能区别
基本定时器

TIM6

TIM6

递增 1-65536 可以 没有输出通道,常用作时基,即定时功能。
通用定时器

TIM2

TIM3

TIM4

TIM5

递增

递减

中央对齐

1-65536 可以 具有多路通路,可以用于输入捕获/输出比较,也可以做时基。
高级定时器

TIM1

TIM8

递增

递减

中央对齐

1-65536 可以 除了具备通用定时器所有功能外,还具备带死区控制的互补信号输出、刹车等功能。

二、基本定时器 

2.1基本定时器介绍

基本定时器:TIM6\TIM7;

特性:16位递增计数器,计数值:0-65535;

                 16位预分频系数,分频系数:1-65536;

可用于触发DAC,在更新时间下可产生中断/DMA;

2.2基本框图 

1、时钟源 

        定时器的核心在于计数,首先需要给一个时钟源。基本定时器的时钟挂载在APB1总线上,所以它的时钟来自于APB1总线,但是基本定时器时钟不是直接APB1总线直接提供,而是先经过一个倍频器,当 APB1 的预分频器系数为 1 时,这个倍频器系数为 1, 即定时器的时钟频率等于 APB1 总线时钟频率;当 APB1 的预分频器系数≥2 分频时,这个倍频器系数就为 2 , 即定时器 的 时钟频率等于APB1总线时钟频率的两倍 。APB1 总线的预分频器分频系数是 2,所以挂载在 AP

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值