当前位置: 首页 > 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!

相关文章:

  • 【安装指南】nodejs下载、安装与配置详细教程
  • 3D人体运动重建
  • Python循环语句——while循环的基础应用
  • 【已解决】Oracle 12541 TNS 无监听程序
  • NAS系统折腾记 – Emby搭建家庭多媒体服务器
  • SOME/IP SD 协议介绍(五)使用SOME/IP-SD宣布非SOME/IP协议的协议。
  • 深入Spring MVC的工作流程
  • 【OpenCV人脸检测】写了个智能锁屏小工具!人离开电脑自动锁屏
  • ElementUI组件:Link 文字链接
  • 2.4作业
  • Makefile学习
  • MacOS 14.3 安装 brew
  • 20.HarmonyOS App(JAVA)表格布局Layout使用方法
  • Unity根据落点和抛物线运行时间,求初始力
  • Redis RCountDownLatch RSemaphore的应用
  • 【刷算法】求1+2+3+...+n
  • 3.7、@ResponseBody 和 @RestController
  • android 一些 utils
  • Apache Spark Streaming 使用实例
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • iOS 颜色设置看我就够了
  • Python实现BT种子转化为磁力链接【实战】
  • supervisor 永不挂掉的进程 安装以及使用
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • vue学习系列(二)vue-cli
  • yii2权限控制rbac之rule详细讲解
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 第十八天-企业应用架构模式-基本模式
  • 记一次和乔布斯合作最难忘的经历
  • 聊聊directory traversal attack
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 跳前端坑前,先看看这个!!
  • 用Canvas画一棵二叉树
  • hi-nginx-1.3.4编译安装
  • ​决定德拉瓦州地区版图的关键历史事件
  • ​水经微图Web1.5.0版即将上线
  • #微信小程序:微信小程序常见的配置传值
  • (13)Hive调优——动态分区导致的小文件问题
  • (C)一些题4
  • (windows2012共享文件夹和防火墙设置
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • (转载)(官方)UE4--图像编程----着色器开发
  • .describe() python_Python-Win32com-Excel
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .NetCore 如何动态路由
  • .NET和.COM和.CN域名区别
  • .NET命名规范和开发约定