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

单片机学习之定时器

定时器是用来定时的机器,是存在于STM32单片机中的一个外设。STM32一般总共有8个定时器,分别是2个高级定时器(TIM1、TIM8),4个通用定时器(TIM2、TIM3、TIM4、TIM5)和2个基本定时器(TIM5、TIM6)。

这里主要介绍两个功能。一、定时。 二、输出PWM波

时基单元

时基单元它包括三个寄存器,分别是:计数器寄存器(TIMx_CNT)、预分频器寄存器(TIMx_PSC)和自动装载寄存器(TIMx_ARR)。对这三个寄存器的介绍如下:

计数器寄存器(TIMx_CNT):向上计数、向下计数或者中心对齐计数;

计数器寄存器(TIMx_CNT):可将时钟频率按1到65535之间的任意值进行分频,可在运行时改变其设置值;

自动装载寄存器(TIMx_ARR)

预分频器寄存器(TIMx_PSC):在时钟信号达到计数器之前,对时间信号进行处理。(频率乘或除整倍数)。TIME = TIME/(PSC+1)

定时功能

通过PSC和ARR进行操作。Tout=(ARR+1)(PSC+1)/TIMxCLK。

输出PWM

利用定时器的输出比较可以产生PWM波,PWM是控制电机速度必不可少的一个东西。STM32一个定时器有四个通道,总共可以产生四路PWM,我们在设置产生PWM时除了要设置基本的定时器的分频系数和重装载值之外,还要设置产生PWM的通道的参数以及调用相关的使能函数。

 PWM模式可以产生一个由TIMx_ARR寄存器确定频率、由TIMx_CCRx寄存器确定占空比的信号。

PSC(预分频系数),ARR(自动重装器系数),CCR(捕获/比较器系数)

PWM频率=更新频率:Freq(时钟数)/(PSC+1)/(ARR+1)

PWM占空比:Duty=CCR/(ARR+1)

标准频率=72M/(PSC+1)

PWM分辨率:Reso=1/(ARR+1)

PWM模式分为两类

PWM模式1的情况下,当前值小于比较值为有效电平;PWM模式2的情况下,当前值大于比较值为有效电平。

http://www.dtcms.com/a/109294.html

相关文章:

  • 嵌入式海思Hi3861连接华为物联网平台操作方法
  • Zapier MCP:重塑跨应用自动化协作的技术实践
  • 【Linux】Orin NX + Ubuntu22.04配置国内源
  • 如何实现一个优雅的Go协程池
  • ORION:基于VLM引导动作生成的端到端框架——论文精度
  • 源码分析之Leaflet图层控制控件Control.Layers实现原理
  • 量子计算与人工智能的结合:未来科技的双重革命
  • 人工智能混合编程实践:C++ ONNX进行图像超分重建
  • 从零实现Json-Rpc框架】- 项目实现 - 服务端主题实现及整体封装
  • “清凉海岛·创享一夏” 海南启动旅游线路产品创意设计大赛
  • 【C语言】strstr查找字符串函数
  • 基于milvus安装--可视化工具 attu
  • PyQt6实例_A股日数据维护工具_子窗体
  • 深入理解浏览器的事件循环
  • CentOS7 安装Redis
  • HTML应用指南:利用POST请求获取三大运营商5G基站位置信息(二)
  • OpenCV第3课 图像的绘制以及基本操作
  • C++:继承+菱形虚拟继承的一箭双雕
  • Could not find artifact com.microsoft.sqlserver:sqljdbc4:jar:4.0 in central
  • 2025年嵌入式大厂春招高频面试真题及解析
  • 使用Deployment运行无状态应用
  • 前缀和 一维差分和二维差分 差分差分矩阵
  • php的动态扩展模块(php的缓存模块)
  • 创建python虚拟环境
  • 记录一下零零散散的的东西-ImageNet
  • 大模型——如何在本地部署微软的OmniParser V2
  • PyTorch复现线性模型
  • 大模型 PDF解析-MinerU
  • 容器适配器-stack栈
  • AV128音乐播放器