新手必看!!STM32定时器简介

一、定时器有哪些?

定时器分为三大类:基本定时器、通用定时器和高级定时器。

二、每个定时器的功能以及使用场景

1. 基本定时器(Basic Timers):
功能: 基本定时器具有较为简单的功能,通常用于基本的计时和触发任务。
用途场景:它们可以作为通用定时器提供时间基准,特别地可以为数模转换器(DAC)提供时钟。实际上,它
们在芯片内部直接连接到DAC并通过触发输出直接驱动DAC。

2. 通用定时器(General-Purpose Timers):
功能: 通用定时器提供了更多的功能和配置选项,包括PWM生成、脉冲计数、输入捕获、输出比较等功能。
用途场景: 适用于需要更复杂的定时功能的应用,如PWM控制、频率测量、脉冲计数等。测量输入信号的脉冲长度(输入捕获)或者 产生输出波形 ( 输出比较 和 PWM )等。

3. 高级定时器(Advanced Timers):
功能: 高级定时器除了通用定时器的功能外,还支持更高级的特性,如相位锁定回路(PLL)、编码器接口、三角波生成等。
用途场景: 适用于需要更高级、复杂计时功能的应用,例如音频处理、电机控制、编码器接口等。重复计数器、死区生成、互补输出、刹车输入等功能

三、定时器功能详表

以STM32F103系列为例,具体开发板请查看开发手册。

类别定时器总线位数计数方向预分频系数是否可以产生DMA捕获/比较通道互补输出
基本定时器TIM6 / TIM7APB216位向上1~65535可以0
通用定时器TIM2 /TIM3 /TIM4/ TIM5APB116位向上/向下/中央对齐1~65535可以4
高级定时器TIM1 /TIM8APB116位向上/向下/中央对齐1~65535可以4

四、定时器知识点

1.影子寄存器:

简介以及功能:
在这里插入图片描述

实际功能上的值都是参考的影子寄存器而不是原寄存器,比如预分频寄存器,这个分频数看的是预分频寄存器影子寄存器上的,而不是预分频寄存器上的。又比如重载值寄存器,那个重载值是看的影子寄存器上的值,而不是原寄存器上的值。影子寄存器主要有一个缓冲的作用。

2. 寄存器缓冲作用:
未设置缓冲:在原寄存器上用户设定的值->影子寄存器->work。
设置缓冲: 在原寄存器上用户设定的值->等待更新事件U发生->影子寄存器->work。

下面举个例子来更加通俗的理解缓冲作用!!
如:(1)未设置缓冲作用情况:
设置LED灯1s亮,1s灭。假如定时器的计数方式为向上计数,且ARR重载值为99时正好定时为1s。当CNT=ARR值时定时时间1s到,灯亮。我们不需要重新修改ARR寄存器的值,继续重装载为99,即可继续定时1s,灯灭。这时就算不设置缓冲作用也没问题。
设置为LED灯1s亮,2s灭,不设置缓冲作用就会出现误差。如当CNT=ARR值时定时时间1s到,灯亮,但是后续要定时2s,所以要修改ARR寄存器的值为199,修改后立刻生效,开始计时。但是操作寄存器这个过程是需要时间的,即使时间很短,也是存在误差的。这种情况下所以就需要设置缓冲。
(2)设置缓冲作用的情况:
如果设置了缓冲作用后,我们就可以提前将199写入ARR寄存器中,因为有缓冲作用,并不会立刻生效。会等到更新时间U发生后生效,更新时间u是在上一段定时时间到之后产生。

寄存器缓冲作用通过控制寄存器位7来设置。
在这里插入图片描述

注意:具体实现看下篇文章!!!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MIB 6.1810实验Xv6 and Unix utilities(4)primes

难度: hard/moderate Write a concurrent prime sieve program for xv6 using pipes and the design illustrated in the picture halfway down this page and the surrounding text. This idea is due to Doug McIlroy, inventor of Unix pipes. Your solution should be in …

OpenCV快速入门:绘制图形、图像金字塔和感兴趣区域

文章目录 前言一、绘制图形1. 绘制直线2. 绘制圆3. 绘制矩形4. 绘制椭圆5. 绘制多边形6. 绘制文字7. 可选参数8. 手工绘制OpenCV的logo 二、图像金字塔1. 高斯金字塔2. 拉普拉斯金字塔 三、感兴趣区域(ROI)数组切片方式OpenCV截取方式 总结 前言 OpenCV…

【漏洞复现】用友移动管理系统文件上传

漏洞描述 用友移动系统管理旧版本uploadApk接口存在任意文件上传,攻击者可在无需登录的情况下上传恶意文件,执行任意命令 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社…

阿桂天山的小工具:我将16个Excel文件中31万多条数据拆分成318个文件

1.话不多说,先上图看效果 2.技术说明及实用源码 2.1)pythonflaskpandas , 由于我的开发环境版本问题,为了能读xls,xlsx,但又不想升级,只能通过xlrd 1.2.0读取xls,xlsx文件再转换成dict字典格式,再通过 data pd.DataFrame(dict_data)实现类型转换 2.2)实用代码,保证不丢任何一行…

python爬取穷游网景点评论

爬取穷游网的景点评论数据,使用selenium爬取edge浏览器的网页文本数据。 同程的评论数据还是比较好爬取,不像大众点评需要你登录验证杂七杂八的,只需要找准你想要爬取的网页链接就能拿到想要的文本数据。 这里就不得不提一下爬取过程中遇到的…

React项目首页中用canvas实现星空

文章目录 前言代码使用后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:前端系列文章 🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误,感谢大家…

MySQL JDBC编程

MySQL JDBC编程 文章目录 MySQL JDBC编程1. 数据库编程的必备条件2. Java的数据库编程:JDBC3. JDBC工作原理4. JDBC使用5. JDBC常用接口和类5.1 JDBC API5.2 数据库连接Connection5.3 Statement对象5.4 ResultSet对象 1. 数据库编程的必备条件 编程语言:…

Quest 3期间Sui上游戏处理了数百万笔交易

Sui固有的可扩展性和低且可预测的gas费使其成为Web3游戏的理想平台。在Quest 3中,参与的游戏项目处理了数百万笔交易,这毫无疑问地展示了Sui卓越的能力。 Quest 3的主题是游戏,让开发者有机会向潜在玩家介绍他们激动人心的创作。鼓励这些玩家…

物联网AI MicroPython学习之语法UART通用异步通信

学物联网,来万物简单IoT物联网!! UART 介绍 模块功能: UART通过串行异步收发通信 接口说明 UART - 构建UART对象 函数原型:UART(id, baudrate,bits, parity,stop, tx, rx)参数说明: 参数类…

.nc格式文件的显示及特殊裁剪方式

最近我们遇到一个nc格式的文件,需要将它做成报告插图,bing搜索一番以后,了解到nc的全名为NetCDF(network Common Data Form),是一种网络通用数据格式,广泛用于大气科学、水文、海洋学、环境模拟、地球物理等诸多领域。…

c# 字符串转换为byte

c# 字符串转换为byte using System.Text; class proj {internal static void Main(string[] args){byte[] anew byte[3];Console.WriteLine("打印a");Console.WriteLine("a的长度{0}",a.Length);foreach (byte b in a){ Console.WriteLine(b); }a Encodi…

虾皮插件能做数据分析的-知虾数据分析插件Shopee大数据分析平台

在如今的电商行业中,数据分析已经成为了一项至关重要的任务。通过对大量数据的收集和分析,企业可以更好地了解市场趋势、了解竞争对手、优化产品和店铺运营等。然而,要想做好数据分析,一个好用的工具是必不可少的。 虾皮插件——知…