STM32的定时器中断Cubemx

STM32的定时器中断Cubemx

0.定时器简介

基本定时器功能:

  1. 16位向上、向下、向上/下自动装载计数器
  2. 16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65535之间的任意数值
  3. 触发DAC的同步电路 注:此项是TIM6/7独有功能.位于APB1总线上

通用定时器的主要功能:

  1. 16位向上、向下、向上/下自动装载计数器
  2. 16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65535之间的任意数值
  3. 4 个独立通道(TIMx_CH1~4)可以用作:
    测量输入信号的脉冲长度( 输入捕获)
    输出比较
    单脉冲模式输出
    PWM输出(边缘或中间对齐模式)
    支持针对定位的增量(正交)编码器和霍尔传感器电路
    如下事件发生时产生中断/DMA:
    更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发)
    触发事件(计数器启动、停止、初始化或者由内部/外部触发计数)
    输入捕获
    输出比较
    位于APB1总线上

高级定时器的主要功能:

  1. 高级定时器具有基本,通用定时器的所有的功能,还具有控制交直流电动机所有的功能,
  2. 输出6路互补带死区的信号,刹车功能等等
    位于APB2总线上

总括:基本定时器就是单纯的定时计数器,通用定时器多了四个通道,相对应的增加了功能,高级定时器具有基本,通用定时器的所有的功能,并且添加了其他功能

1.配置时钟

使用外部石英晶振提供时钟频率

2.配置定时器


定时时间计算公式

溢出时间=(计数周期+1)*(分频+1)/时钟频率
时钟频率要看使用的定时器挂在那个时钟树上,查看是时钟树的频率即可

3.创建工程


4.补充源码

打开工程后,找到回调函数



在主函数中重写该函数即可:

c 复制代码
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
c 复制代码
/* USER CODE BEGIN PV */
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
   
    if (htim == (&htim6))
    {
		/*自己的业务逻辑*/
    }
}
/* USER CODE END PV */

在main.c主函数上方初始化使能定时器:

c 复制代码
  /* USER CODE BEGIN 2 */
    /*启动定时器,使能定时器中断*/
    HAL_TIM_Base_Start_IT(&htim6);
  /* USER CODE END 2 */
相关推荐
搁浅小泽3 小时前
8位单片机(8位SCM/MCU)通俗详解
单片机·嵌入式硬件
星夜夏空9912 小时前
STM32单片机学习(32) —— ADC
stm32·单片机·学习
芯岭技术郦13 小时前
批量不到1元,芯岭技术集成 2.4G 射频32 位 MCU 与 USB2.0的超低功耗 SoC XL2417U
单片机·嵌入式硬件·射频工程
少年、潜行16 小时前
【开源】基于STM32的无线姿态检测仪设计
stm32·嵌入式硬件·开源·姿态检测仪
三品吉他手会点灯18 小时前
STM32F103 学习笔记-22-DMA(第1节)-DMA功能框图讲解和DMA初始化结构体讲解
笔记·stm32·单片机·嵌入式硬件·学习
陌上花开缓缓归以19 小时前
定时器和延时函数选型
单片机
华普微HOPERF20 小时前
电视冰箱洗衣机、空调风扇热水器,Matter协议如何塑造全屋智能?
嵌入式硬件·物联网·智能家居·matter协议·全屋智能
ThornArmor20 小时前
【控制篇】斩断无休止空转:4-bit 指令集里的跳转律令与时序状态机
c语言·汇编·c++·单片机·嵌入式硬件
篮子里的玫瑰21 小时前
STM32/MCU【IAP在线升级】全流程深度解析与实战指南
stm32·单片机·嵌入式硬件
深圳市青牛科技实业有限公司21 小时前
D3815C30V/0.8A高调光比 LED恒流驱动器介绍
单片机·嵌入式硬件·人机交互·摄像机