STM32之定时器

目录

1、定时器介绍

1.定时器工作原理

2.定时器的分类

3.通用定时器主要功能介绍

4.定时器计数模式

5.定时器时钟源

6.定时器溢出时间计算公式

2、定时器中断的实验

codeMX的配置

代码编写

1.使用到的HAL库函数

1.中断回调函数需要我们重写

[2. 在中断模式下启动TIM Base生成(在中断模式下启动定时器)](#2. 在中断模式下启动TIM Base生成(在中断模式下启动定时器))

2.具体代码

1、定时器介绍

在51单片机的时候我们经常使用软件定时,但是软件定时存在不精确、占用CPU资源(在计时期间CPU都在数数)等缺点,在stm32我们就是用硬件定时可以避免软件定时的那些缺点。

1.定时器工作原理

使用精确的时基,通过硬件的方式,实现定时的功能。定时器的核心就是计数器。

2.定时器的分类

  • 基本定时器(TIM6~TIM7)
  • 通用定时器(TIM2~TIM5)
  • 高级定时器(TIM1和TIM8)

我们常用到的是通用定时器

我使用的单片机定时器资源(可以在单片机使用手册上查看)

3.通用定时器主要功能介绍

1 ) 16 位向上、向下、向上 / 向下自动装载计数器( TIMx_CNT )。
2 ) 16 位可编程 ( 可以实时修改 ) 预分频器 ( TIMx_PSC ) ,计数器时钟频率的分频系数为 1 ~ 65535 之间的任意数
值。
3 ) 4 个独立通道( TIMx_CH1~4 ),这些通道可以用来作为:
A .输入捕获
B .输出比较
C . P WM 生成(边缘或中间对齐模式)
D.单脉冲模式输出
4)可使用外部信号(TIMx_ETR)控制定时器和定时器互连(可以用 1 个定时器控制另外一个定时器)的同步电路。
5)如下事件发生时产生中断/DMA:
A.更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发)
B.触发事件(计数器启动、停止、初始化或者由内部/外部触发计数)
C.输入捕获
D.输出比较
E.支持针对定位的增量(正交)编码器和霍尔传感器电路
F.触发输入作为外部时钟或者按周期的电流管理

4.定时器计数模式

5.定时器时钟源

6.定时器溢出时间计算公式

  • PSC:预分频器的值
  • ARR:自动重装载值
  • Tclk:时钟频率
  • Tout:设定的时间
  • 1Mhz=1000000hz(次/秒)
  • 周期(s)=频率(hz)的倒数

2、定时器中断的实验

需求:使用定时器中断方法,没500ms翻转一次LED等的状态

codeMX的配置

代码编写

1.使用到的HAL库函数
1.中断回调函数需要我们重写

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)

参数:定时器的句柄

2. 在中断模式下启动TIM Base生成(在中断模式下启动定时器)

HAL_StatusTypeDef HAL_TIM_Base_Start_IT(TIM_HandleTypeDef *htim)

参数:定时器的句柄

返回的是一个状态值

2.具体代码
复制代码
//重写中断回调函数
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
	if(htim->Instance == TIM2)//确定中断源,确定是谁产生的中断
	{
		HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_8);
	}
}
main函数里面
	HAL_TIM_Base_Start_IT(&htim2);//在中断模式下启动定时器

3、定时器的其它应用

STM32之定时器--PWM控制SG90舵机

STM32之定时器--超声波测距

相关推荐
listhi52015 分钟前
基于单片机的步进电机控制系统
单片机·嵌入式硬件
灯琰128 分钟前
STM32L051K6U6 IAP要点记录-LL库
stm32·单片机·嵌入式硬件
MAR-Sky1 小时前
stc8h系列单片机使用中断号超过32的插件解决办法
单片机·嵌入式硬件
kebidaixu1 小时前
FreeRTOS 移植到 STM32F407VETX 记录(四)
stm32
结城明日奈是我老婆2 小时前
基于stm32f103c8t6最小系统板俩块版通讯
stm32·单片机·嵌入式硬件
weixin_456808382 小时前
【沁恒蓝牙开发】从机判断主机是否使能CCCD
单片机·嵌入式硬件
fengfuyao9852 小时前
STM32F030 SD卡文件系统读取实例
stm32·单片机·嵌入式硬件
kebidaixu2 小时前
FreeRTOS 移植到 STM32F407VETX 记录(三)
stm32·单片机·嵌入式硬件
普中科技13 小时前
【普中STM32F1xx开发攻略--标准库版】-- 第 45 章 FSMC-外扩 SRAM 实验
stm32·单片机·嵌入式硬件·fsmc·普中科技·外扩sram·is62wv51216