STM32高级控制定时器(STM32F103):TIM1和TIM8介绍

news2024/12/26 23:35:34

目录

概述

1 认识TIM1和TIM8

2 TIM1和TIM8的特性

3 TIM1和TIM6时基和分频

3.1 时基单元

3.2 预分频

3.3 时基和分频相关寄存器

3.3.1TIMx_CR1

3.3.2 TIMx_PSC


概述

本文主要介绍STM32高级定时器TIM1和TIM8的功能,还介绍了与之相关的寄存器的配置参数。包括:分频计数,时间基准等内容。

1 认识TIM1和TIM8

高级控制定时器(TIM1和TIM8)由一个16位自动重新加载计数器驱动通过可编程预分频器。它可以用于多种功能:

1.  测量输入的脉冲长度信号(输入捕获)

2.  生成输出波形(输出比较,PWM、PWM等)

3.  死区插入的互补PWM

脉冲长度和波形周期可以从几微秒调制到几微秒毫秒。可通过使用定时器预分频器和RCC时钟控制器预分频器来实现脉冲长度和波形周期的参数设置。高级控制(TIM1和TIM8)和通用(TIMx)定时器完全独立,不共享任何资源。

2 TIM1和TIM8的特性

索引功能描述
1

16位计数功能:

1)加计数

2)减计数

3)加/减计数

4)自动重载计数

216位可编程预分频器,允许对计数器时钟进行分频(也可“动态”) 频率乘以1和65536之间的任何因子。
3

最大实现4个独立通道工作:

1)输入捕获

2)输出比较

3)自动输出PWM( 边缘和中心对齐模式 )

4)单脉冲模式输出

4具有可编程死区时间的互补输出
5用外部信号控制定时器并互连的同步电路 几个定时器在一起。
6重复计数器,仅在给定周期数后更新定时器寄存器 计数器。
7断开输入,使计时器的输出信号处于重置状态或已知状态
8

以下事件的中断/DMA生成:

1)更新:计数器上溢/下溢,计数器初始化(通过软件或内部/外部触发器)

2)触发器事件(计数器启动、停止、初始化或通过内部/外部触发器计数)

3)输入捕获 输出比较 打断输入

9支持增量(正交)编码器和霍尔传感器电路进行定位目的
10外部时钟或逐周期电流管理的触发器输入

3 TIM1和TIM6时基和分频

3.1 时基单元

可编程高级控制定时器的主块是一个16位计数器,其相关的自动重新加载寄存器。计数器可以向上计数、向下计数或同时向上计数和向下计数。这个计数器时钟可以被预分频器分频。

计数器、自动重新加载寄存器和预分频器寄存器可以通过写入或读取软件即使在计数器运行时也是如此。

时基单位包括:

1)计数寄存器:TIMx_CNT

2)分频寄存器:TIMx_PSC

3)自动重载寄存器:TIMx_ARR

4)重复计数寄存器:TIMx_RCR

自动重新加载寄存器已预加载。写入或读取自动重新加载寄存器访问预加载寄存器。预加载寄存器的内容被传输到影子寄存器永久或在每次更新事件(UEV)时,取决于自动重新加载TIMx_CR1寄存器中的预加载使能位(ARPE)。当计数器达到溢出(或向下计数时下溢),并且如果TIMx_CR1寄存器中的UDIS位等于0 。它也可以由软件生成。更新的生成事件将针对每个配置进行详细叙述。 

计数器由预分频器输出CK_CNT计时,仅当TIMx_CR1寄存器中的计数器启用位(CEN)已设置(另请参阅从属模式控制器描述以获得有关计数器启用的更多详细信息)。

注意: 

在TIMx_CR1中设置CEN位后,计数器开始计数1个时钟周期登记。

3.2 预分频

预分频器可以将计数器时钟频率除以1和65536之间的任何因子。它基于通过16位寄存器(在TIMx_PSC寄存器中)控制的16位计数器。它可以在缓冲该控制寄存器时进行动态更改。新的预分频器比率为在下一次更新事件中考虑。

几个动态改变计数器值的实例:

1)预分频器分频从1变为2的计数器时序图

2)预分频器分频从1变为4的计数器时序图

3.3 时基和分频相关寄存器

3.3.1TIMx_CR1

TIM1 and TIM8 control register 1 (TIMx_CR1)
Address offset: 0x00
Reset value: 0x0000
 

 参数介绍

Bits 9:8 CKD[1:0]: 时钟分频

该比特字段指示定时器时钟(CK_INT)频率与死区时间发生器和数字滤波器使用的死区时间和采样时钟(tDTS)(ETR、TIx):
00: tDTS=tCK_INT
01: tDTS=2*tCK_INT
10: tDTS=4*tCK_INT
11: Reserved, do not program this value
 

Bit 7 ARPE::自动重载使能

0: TIMx_ARR register is not buffered
1: TIMx_ARR register is buffered
 

Bits 6:5 CMS[1:0]: 居中对齐模式选择

00:边缘对齐模式。计数器根据方向位向上或向下计数(目录)。

01:居中对齐模式1。计数器交替向上和向下计数。输出比较设置输出中配置的通道的中断标志(TIMx_CCMRx寄存器中的CCxS=00)只有在计数器倒计时时。

10:居中对齐模式2。计数器交替向上和向下计数。输出比较设置输出中配置的通道的中断标志(TIMx_CCMRx寄存器中的CCxS=00)只有当计数器正在计数时。

11:居中对齐模式3。计数器交替向上和向下计数。输出比较设置输出中配置的通道的中断标志(TIMx_CCMRx寄存器中的CCxS=00)无论是在计数器向上计数还是向下计数时。

Bit 4 DIR: 计数方向
0: 增计数

1:减计数

Bit 3 OPM: 单脉冲模式

0: 计数器未在更新事件中停止

1:计数器在下一次更新事件时停止计数(清除位CEN)

Bit 2 URS: 更新请求源

该位由软件设置和清除,以选择UEV事件源。

0:如果启用,以下任何事件都会生成更新中断或DMA请求。这些事件可以是:

     1)计数器上溢/下溢

     2)设置UG位

     3)通过从属模式控制器更新生成

1:只有计数器上溢/下溢才会生成更新中断或DMA请求,如果启用。

Bit 1 UDIS: 禁止更新

该位由软件设置和清除,以启用/禁用UEV事件生成。

0:UEV已启用。更新(UEV)事件由以下事件之一生成:

     1)计数器上溢/下溢

     2)设置UG位

     3)通过从属模式控制器更新生成

1:UEV已禁用。未生成Update事件,影子寄存器保留其值(ARR、PSC、CCRx)。然而,如果UG位为设置,或者如果从从属模式控制器接收到硬件重置。

Bit 0 CEN: 计数使能

0: 计数失能

1:计数使能

3.3.2 TIMx_PSC

TIM1 and TIM8 prescaler (TIMx_PSC)
Address offset: 0x28
Reset value: 0x0000

 

参数介绍

 Bits 15:0 PSC[15:0]: 分频值

计数器时钟频率(CK_CNT)等于fCK_PSC/(PSC[15:0]+1)。PSC包含在每次更新事件时要加载到活动预分频器寄存器中的值(包括通过TIMx_EGR寄存器的UG位或通过在“重置模式”下配置时触发控制器)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1804158.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue CLI 4与项目构建实战指南

title: Vue CLI 4与项目构建实战指南 date: 2024/6/9 updated: 2024/6/9 excerpt: 这篇文章介绍了如何使用Vue CLI优化项目构建配置,提高开发效率,涉及配置管理、项目部署策略、插件系统定制以及Webpack和TypeScript的深度集成技巧。 categories: 前端…

接口自动化Requests+Pytest基础实现

目录 1. 数据库以及数据库操作1.1 概念1.2 分类1.3 作用 2 python操作数据库的相关实现2.1 背景2.2 相关实现 3. pymysql基础3.1 整个流程3.2 案例3.3 Pymysql工具类封装 4 事务4.1 案例4.2 事务概念4.3 事务特征 5. requests库5.1 概念5.2 角色定位5.3 安装5.4 校验5.5 reques…

如何微调 Llama 3 进行序列分类?

节前,我们星球组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学. 针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 汇总合集&…

GDPU unity游戏开发 寻路与导航

学会寻路,出门在外,身份不是他给的,他做不了你一直的导航。 角色寻路 角色控制器替换为普通的角色控制器,给实验九的地形增加NavMesh Surface组件,然后给角色增加NavMesh Agent组件,并选择合适的参数。通过…

Ubuntu24.04基本配置

目录 0. 前言1. 连接网络2. 更新源3. 安装并配置vim4. 设置用户sudo免密5. 同步双系统时间6. 设置终端颜色主题7. 设置中文输入法8. 调整Dock位置等9. 设置Grub10. 其它美化设置10.1 夜灯10.2 壁纸10.3 终端加强gnome-tweaks10.4 字体 11. 常用工具11.1 邮箱配置11.2 翻译工具1…

【机器学习】机器学习与医疗健康在智能诊疗中的融合应用与性能优化新探索

文章目录 引言机器学习与医疗健康的基本概念机器学习概述监督学习无监督学习强化学习 医疗健康概述疾病预测诊断辅助个性化治疗方案制定 机器学习与医疗健康的融合应用实时健康监测数据预处理特征工程 疾病预测与优化模型训练模型评估 诊断辅助与优化深度学习应用 个性化治疗方…

【C++11】多线程常用知识

知识体系 thread C++ thread中最常用的两个函数是join和detach,怎么选择呢,简单来说,如果希望等待线程结束,用join,如果希望异步执行,且不等待执行结果,那么就用detach;thread_local可以简单理解为一个线程级别的全局变量;线程id在调试多线程程序时是非常有用的东西;…

Responder工具

简介 Responder是一种网络安全工具,用于嗅探和抓取网络流量中的凭证信息(如用户名、密码等)。它可以在本地网络中创建一个伪造的服务(如HTTP、SMB等),并捕获客户端与该服务的通信中的凭证信息。 Responder工…

华为云耀云服务器L实例规则配置教程(亲自实操经验)

我刚买了这个最基础的36¥的L实例的云服务器,这个实例是自带公网ip的,不需要额外购买。我准备先配置好,能够通过公网ip访问,以便之后上传javaweb项目可以直接访问,不过中途遇到了点问题,但是已解…

Linux内核下网卡硬件 MAC 和PHY分析笔记

1 简介 通常CPU自带的以太网接口是MAC控制器,为了实现完整的功能,外围硬件还需要增加一个PHY芯片。 PHY芯片在建立网络连接时负责协商确定网速、全双工 或者 半双工等。在正常通讯时负责在MAC控制器的MII信号 与 网线中的信号之间做转换。 本文的内核代…

pyinstall 打包 paddleocr 成为.exe文件步骤

一、首先进入虚拟环境 使用pip安装pyinstaller pip install pyinstaller我的已经安装完成 二、用cmd进入当前打包文件夹下,新建使spec文件内容如下 注意:其中需要修改的部分是pathex中文件所在路径文件内容摘抄自另一篇博文(❄点击可查看❄) # -*- m…

第二讲笔记:隐私计算助力数据要素流通

1、数据要素流转与数据 2、数据外循环中的信任 焦虑 信任焦虑背后的代表性案例 内鬼门 : 2023 年 , 美国科技公司 Ubiquiti在2021年1月曝出数据泄露事 件, “攻击者”在随后的“谈判”中试 图向该企业勒索近200万美元(50比特 币&…

Steam游戏如何选择适合的服务器

在Steam平台上,玩家可以享受到来自世界各地开发者的游戏作品。然而,要获得最佳的游戏体验,选择合适的服务器至关重要。本文将从网络延迟、服务器位置、游戏类型和个人偏好等多个方面,为玩家提供选择Steam游戏服务器的实用指南。 如…

设计模式-中介者(调停者)模式(行为型)

中介者模式 中介者模式是一种行为型模式,又叫调停者模式,它是为了解决多个对象之间,多个类之间通信的复杂性,定义一个中介者对象来封装一些列对象之间的交互,使各个对象之间不同持有对方的引用就可以实现交互&#xf…

湖南源点(市场研究咨询)如何产出更加有意义的竞品调研

湖南源点咨询认为:当前,任何项目都不能盲目开始,前期的准备工作必不可少。在基础架构搭建的同时,设计上对于前端功能、用户体验的调研就优先开始了。在这个阶段,大部分设计师都会分配很多调研任务,疯狂对竞…

BC C language

题目汇总 No.1 打印有规律的字符(牛牛的字符菱形) 代码展示 #include<stdio.h> int main() {char ch0;scanf("%c",&ch);for(int i0;i<5;i){for(int j0;j<5;j){if((i0||i4)&&j2)printf("%c", ch);else if ((i 1||i3) &&…

大疆智图_空三二维重建成果传输

一、软件环境 1.1 所需软件 1、 大疆智图&#xff1a;点击下载&#xff1b;   2、 ArcGIS Pro 3.1.5&#xff1a;点击下载&#xff0c;建议使用IDM或Aria2等多线程下载器&#xff1b;   3、 IDM下载器&#xff1a;点击下载&#xff0c;或自行搜索&#xff1b;   4、 Fas…

最近一直没动静的Pika Labs原来在筹集融资,加快构建视频基础模型

Pika 筹集了 8000 万美元&#xff0c;因此任何人都可以根据命令制作视频。 今天对我们来说是一个重要的日子。自从我们从斯坦福大学退学去构建 Pika 以来已经一年了&#xff0c;在这段时间里&#xff0c;我们在 Discord 上进行了秘密发布&#xff0c;发布了我们的 1.0 模型和 …

找了半天,还不如自己写一个图片转ico格式的程序

关于jpg、png等图片转ICO格式 最近突然急需一张ico格式的文件&#xff0c;就拿着处理好的png图片出网上找在线转换器&#xff0c;找了一个小时&#xff0c;绝了&#xff0c;不是需要注册充钱就是下载不下来&#xff0c;好不容易下载下来还是个文件错误。想着找个PS插件直接导出…

2024 cicsn ezbuf

文章目录 参考protobuf逆向学习复原结构思路exp 参考 https://www.y4ng.cn/posts/pwn/protobuf/#ciscn-2024-ezbuf protobuf 当时压根不知道用了protobuf这个玩意&#xff0c;提取工具也没提取出来&#xff0c;还是做题做太少了&#xff0c;很多关键性的结构都没看出来是pro…