STM32_HAL_TIM_1介绍

1.F1的定时器类型(高的拥有低级的全部功能)

  1. 高级定时器(TIM1和TIM8)

    • 16位自动重装载计数器。
    • 支持多种工作模式,包括中心对齐模式、边沿对齐模式等。
    • 可以产生7个独立的通道,用于PWM、输出比较、输入捕获和断路功能。
    • 死区生成用于控制互补输出,适用于电机控制。
    • 提供编码器接口,用于正交编码器计数。
  2. 通用定时器(TIM2, TIM3, TIM4, TIM5)

    • 16位自动重装载计数器。
    • 支持多种工作模式,包括向上计数、向下计数和中心对齐模式。
    • 可以产生4个独立的通道,用于PWM、输出比较、输入捕获等。
    • 可以用于外部事件计数和脉冲宽度测量。
  3. 基本定时器(TIM6和TIM7)

    • 16位自动重装载计数器,但功能较为简单。
    • 主要用于生成简单的时基或者触发DAC。//(就是定时器给定一个信号叫DAC可以开始输出了)
    • 没有通道,只能用于内部时钟计数。
  4. 通用定时器(TIM9, TIM10, TIM11, TIM12, TIM13, TIM14)(仅部分STM32F1型号提供):

    • 这些定时器通常拥有较少的通道,但仍然是16位的。
    • 主要用于简单的定时或PWM生成。
  5. 系统定时器(SysTick)

    • 是一个24位的倒计时定时器。
    • 主要用于操作系统的节拍或者提供一个简单的延时功能。

2模式

  1. 向上计数模式(Upcounting Mode):

    • 计数器从0开始计数,直到达到自动重装载寄存器(ARR)的值,然后重新从0开始。
    • 用于定时、PWM生成等。
  2. 向下计数模式(Downcounting Mode):

    • 计数器从自动重装载寄存器的值开始,向下计数到0,然后重新从ARR的值开始。
    • 可以用于某些特定的应用,如某些PWM模式。
  3. 中心对齐模式(Center-Aligned Mode):

    • 计数器从0开始计数到ARR的值,然后反向计数回到0,再重新开始。
    • 这种模式可以用于某些特定的电机控制应用。
  4. 输入捕获模式(Input Capture Mode):

    • 用于测量输入信号的脉宽或捕获特定的边沿。
    • 可以用于测量外部信号的频率和占空比。
  5. 输出比较模式(Output Compare Mode):

    • 用于在计数器达到特定值时生成输出信号。
    • 可以用于生成PWM信号或控制外部事件。
    • //输出比较模式(Output Compare Mode)并不是直接用于比较两个信号波形的。相反,它是用来基于定时器内部计数器的值来生成或控制一个信号波形的。
  6. PWM模式(PWM Mode):

    • 产生脉冲宽度可调的信号,常用于电机控制、LED亮度调节等。
  7. 单脉冲模式(One-Pulse Mode):

    • 生成一个单个的脉冲,然后停止计数。
    • 可以用于生成精确的延时或触发事件。
    • //是计时到一定时间后在发一个脉冲信号
  8. 编码器接口模式(Encoder Interface Mode):

    • 用于与编码器(如光电编码器)接口,用于测量位置或速度。
  9. 断路功能(Break Function):

    • 用于高级定时器,提供额外的保护和控制功能,如紧急停止电机。

3框图

高级控制定时器框图

通用定时器框图

基本定时器框图

4通用计时器的寄存器配置步骤

  1. 时钟使能

    • 通过编程RCC时钟控制寄存器来使能定时器的时钟。例如,对于TIM2,你需要设置RCC_APB1ENR的TIM2EN位。
  2. 配置定时器模式

    • 设置控制寄存器1(TIMx_CR1)来选择定时器的计数模式(向上计数、向下计数、中心对齐等)。
  3. 配置预分频器

    • 设置预分频器寄存器(TIMx_PSC)来设置时钟分频值,从而得到定时器的实际时钟频率。
  4. 配置自动重装载寄存器(ARR)

    • 设置自动重装载寄存器(TIMx_ARR)来定义计数器的溢值,这是定时器计数的一个周期。
  5. 配置输出比较模式 (如果是PWM应用):

    • 设置捕获/比较模式寄存器(TIMx_CCMRx)和捕获/比较使能寄存器(TIMx_CCER)来配置输出比较模式、极性和输出使能。
  6. 配置捕获/比较寄存器(CCR) (如果是PWM应用):

    • 设置捕获/比较寄存器(TIMx_CCRx)来定义PWM脉冲的宽度。
  7. 配置中断和DMA (如果需要):

    • 如果需要使用中断或DMA,配置中断使能寄存器(TIMx_DIER)来使能中断请求或DMA请求。
  8. 启动定时器

    • 设置控制寄存器1(TIMx_CR1)的CEN位来启动定时器。
相关推荐
派勤电子3 小时前
嵌入式硬件选型|3.5寸工控板与Mini-ITX主板的扩展能力哪个更好?
嵌入式硬件·工控主板·嵌入式主板·工控主板扩展·3.5寸工控板·mini-itx·工业主板io接口
工业胶粘剂技术5 小时前
科耀K-8095M 单组分耐高温环氧 电机磁钢/新能源汽车高温结构粘接技术参数与选型
单片机·嵌入式硬件·汽车
李永奉10 小时前
中科蓝讯SDK开发-BT893x 面条耳机连接vivo手机后连接APP端,最后手机端设置页面手动断开蓝牙连接,此时耳机端假断开
c语言·开发语言·嵌入式硬件·物联网·智能手机·电脑
大爱编程♡10 小时前
STM32-DMA
stm32·单片机·嵌入式硬件
云泽80811 小时前
STM32 USART 详解(三):硬件架构、内部寄存器与物理层收发原理
stm32·嵌入式硬件·硬件架构
天空'之城12 小时前
单片机基础核心知识点汇总(三十三)
数据库·单片机·嵌入式硬件
数字新视界13 小时前
机房动环监控的智能化管理与安全提升探索
嵌入式硬件·物联网·数据中心·数据中心基础设施管理·dcim管理系统
@嵌入式扫地僧15 小时前
TFLite Micro STM32/ESP32 开箱即用推理骨架 + INT8 量化脚本实战:零调试跑通端侧 AI 推理完整步骤
人工智能·嵌入式硬件·tinyml·端侧ai·tflite micro
自小吃多15 小时前
高云FPGA ModelSim中的仿真
笔记·嵌入式硬件·fpga开发
单片机仿真设计15 小时前
基于 STM32 的家庭环境监测与火灾报警灭火系统(Proteus 仿真)
stm32·单片机·嵌入式硬件·proteus·毕设