当前位置: 首页 > news >正文

STM32--HAL库定时器学习记录(易懂)--持续学习

一、什么是定时器

  定时器就是计数器,通过计数完成一系列功能。

二、定时器的分类

定时器分为基本定时器、通用定时器、高级定时器。级别不同,功能不同。级别越高,功能越强。

三、定时器(计数器)三个重要寄存器

  1. 预分频器PSC                                                     ;通过分频器可以设定定时器的频率,即为APB1/APB2 timer clocks除以(PSC+1),为什么要减一呢?0~(80-1);0计数到80-1计数80个;0计数到80是计数81个脉冲!
    __HAL_TIM_SET_PRESCALER

  2. 计数器:在分频得到的频率下进行计数,每来一个脉冲进行计数

    __HAL_TIM_GET_COUNTER
    __HAL_TIM_SET_COUNTER

  3. 自动重装载寄存器 计数器计数到自动重装载寄存器设置的值时,计数器清零
__HAL_TIM_GET_AUTORELOAD
__HAL_TIM_SET_AUTORELOAD

 四、影子寄存器 

1.预分频器的影子寄存器-->设置新的预分频值,需要等下一个计数周期才生效

2.自动重装载的影子寄存器(开启关闭需要设置)

​编辑作用同1.差不多

五、定时器外部时钟模式

应用:传送带测距or测速、超声波测距

六、定时器从模式

  • 外部时钟模式1的功能是给定时器提供计数的信号
  • 复位模式(Reset Mode)、门模式(Gated Mode)、触发模式(Trigger Mode)是控制定时器的工作状态
  • 复位模式:重新计数 触发更新中断
  • 门模式:根据电平 暂停与继续计数
  • 触发模式:启动定时器计数  常配合单脉冲

七、定时器常用HAL库函数速查

常用库函数——click me!

相关文章:

  • QT 应用中集成 Sentry
  • 外星人入侵(python)
  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之TextPicker组件
  • C++函数定义
  • Qt扩展-muParser数学公式解析
  • Ubuntu server如何使用 Daphne + Nginx + supervisor部署 Django
  • C语言中那些后知后觉的细节冷知识(二)typedef、死循环、位移、内存访问
  • Docker基础知识
  • 【链表】-Lc83-删除有序链表中的重复元素(快慢双指针,slow,fast)
  • IDEA 配置以及一些技巧
  • 事件在状态流程图中的工作方式
  • Spring Boot 中操作 Bean 的生命周期
  • 帮管客CRM 文件上传漏洞
  • C#基础题
  • HDMI2.1之eARC简介-Dolby Atmos和DTS:X
  • 【大厂AI课学习笔记】1.4 算法的进步(4)关于李飞飞团队的ImageNet
  • Vue2组件注册:全局组件和局部组件
  • 计算机网络(第六版)复习提纲21
  • Open3D 深度图像转点云
  • 2024/2/3 备战蓝桥杯 4-2 排序
  • 以总理内塔尼亚胡称决心彻底击败哈马斯
  • “上海之帆”巡展在日本大阪开幕,松江区组织企业集体出展
  • 印度杰纳布河上游两座水电站均已重新开闸
  • 上海一中院一审公开开庭审理被告人胡欣受贿案
  • 一网红被指涉脱衣殴打霸凌事件,沈阳警方:刑拘1人,处罚5人
  • 湖北十堰市委副秘书长管聪履新丹江口市代市长