STM32F0的TIM1高级定时器(未完待续)

2023-10-18 10:04

本文主要是介绍STM32F0的TIM1高级定时器(未完待续),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1.高级、通用和基本定时器的区别
  • 2.TIM1高级定时器介绍
    • 2.1 时基单元
      • 2.1.1寄存器
      • 2.1.2 预分频器
      • 2.1.3 计数器
      • 2.1.4 重复计数器
    • 2.2 计数时钟
    • 2.3 捕捉/比较通道
      • 2.3.1 通道结构

在这里插入图片描述
输出类型14-12:定时器霍尔传感器配置结构定义
在这里插入图片描述
函数14-100
在这里插入图片描述
在这里插入图片描述

1.高级、通用和基本定时器的区别

答:
在这里插入图片描述
TIM1用于高级控制功能,具有16位自动重载向上/向下计数器和16位预分频器。该定时器有4个独立通道,可用于输入捕捉、输出比较、PWM或单脉冲输出模式。TIM1可以配置成具有6路复合输出的三相PWM控制器,每相均有互补输出通道并带有可编程死区时间控制。
通用定时器可以用于时基或PWM输出,其中TIM2是32位定时器,TIM3是基于16位定时器,这两个定时器均具有自动重载向上/向下计数功能,有16位预分频器和4个独立通道。TIM14、TIM15、TIM16和TIM17都是16位定时器。TIM15有两个独立的通道,TIM14、TIM16和TIM17只有一个通道。这些定时器的每一个通道都具有输入捕捉、输出比较、PWM或单脉冲输出功能。
TIM6和TIM7也是基于16位自动装载向上计数和16位预分频器的定时器,没有输入输出通道,主要用于产生DAC触发事件或作为通用的16位时基使用。

2.TIM1高级定时器介绍

答:
TIM1内部结构如下图。
在这里插入图片描述

2.1 时基单元

2.1.1寄存器

TIM1的时基单元包含4个寄存器,分别是:

寄存器名称
计数器寄存器TIM1_CNT
预分频器寄存器TIM1_PSC
自动装载寄存器TIM1_ARR
重复计数寄存器TIM1_RCR

当TIM1_CR1寄存器的计数器使能位CEN=1时,计数器开始计数。
按照设置的不同,预装载寄存器的内容可以被立即或在每次更新事件(UEV)产生时传送到影子寄存器。更新事件(UEV)是由计数器达到溢出条件(上溢或下溢),且在更新事件允许(TIM1_CR1寄存器的UDIS=0)时产生的。更新事件也可以由软件操作TIM1_EGR寄存器的UG位或由从模式控制器产生定时器复位时产生。
当自动预装载使能(TIM1_CR1寄存器ARPE=1)时,写入自动装载寄存器中的数据将被保存在预装载寄存器中,并在下一个更新事件时传送到影子寄存器并立即生效;当自动预装载禁止时(ARPE=0),写入自动装载寄存器的数据将立即传送至影子寄存器中。

2.1.2 预分频器

预分频器可以将计数器预分频时钟(CK_PSC)1~65536之间的任意值进行分频,得到计数器时钟(CK_CNT)。预分频器的分频比例可以使用以下公式计算:
计数器时钟(fCK_CNT)=计数器预分频时钟(fCK_PSC)/(PSC[15:0]+1)
预分频寄存器带有缓冲器,它能够在定时器运行时改变,新的预分频值会在下一次更新事件到来时生效。
在这里插入图片描述

2.1.3 计数器

16位的计数器(CNT)按照设置的不同,可以向上、向下或向上/向下计数,并产生更新事件。

2.1.4 重复计数器

重复计数寄存器TIM1_RCR的值默认为0,这时计数器每次上溢或下溢都会产生更新事件。当重复计数器的值为N时,则在每N次计数上溢或下溢时,才会产生更新事件。

2.2 计数时钟

在这里插入图片描述
## 2.3
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3 捕捉/比较通道

TIM1具有4个独立的通道,每个通道都可以配置成输入捕捉、输出比较、PWM或单脉冲输出功能。其中,3个通道具有互补输出功能,当启用了互补输出后,可以设定死区时间控制功能。

2.3.1 通道结构

每一个捕捉/比较通道都包括一个捕捉/比较寄存器TIM1_CCRx(包含影子寄存器)、一个捕捉输入部分(数字滤波、多路复用和预分频器)和一个输出部分(比较器和输出控制)。其中输入部分用于采样相应的TIx输入信号,并产生一个滤波后的信号TIxF。然后,一个带极性选择的边沿检测器依据检测结果生成TIxFPx信号,用于从模式控制器的输入触发或捕捉控制,该信号被预分频后进入捕捉寄存器(ICxPS)。

在这里插入图片描述

这篇关于STM32F0的TIM1高级定时器(未完待续)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/231862

相关文章

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

Java基础回顾系列-第七天-高级编程之IO

Java基础回顾系列-第七天-高级编程之IO 文件操作字节流与字符流OutputStream字节输出流FileOutputStream InputStream字节输入流FileInputStream Writer字符输出流FileWriter Reader字符输入流字节流与字符流的区别转换流InputStreamReaderOutputStreamWriter 文件复制 字符编码内存操作流(

Java基础回顾系列-第五天-高级编程之API类库

Java基础回顾系列-第五天-高级编程之API类库 Java基础类库StringBufferStringBuilderStringCharSequence接口AutoCloseable接口RuntimeSystemCleaner对象克隆 数字操作类Math数学计算类Random随机数生成类BigInteger/BigDecimal大数字操作类 日期操作类DateSimpleDateForma

Mysql高级篇(中)——索引介绍

Mysql高级篇(中)——索引介绍 一、索引本质二、索引优缺点三、索引分类(1)按数据结构分类(2)按功能分类(3) 按存储引擎分类(4) 按存储方式分类(5) 按使用方式分类 四、 索引基本语法(1)创建索引(2)查看索引(3)删除索引(4)ALTER 关键字创建/删除索引 五、适合创建索引的情况思考题 六、不适合创建索引的情况 一、索引本质 索引本质 是 一种数据结构,它用

【Qt】定时器事件

定时器事件 在之前学习QTimer中实现了定时器的功能,而在QTimer背后是QTimerEvent定时器事件进行支撑的。在QObject中提供了一个timeEvent这个函数。 startTimer启动定时器killTimer关闭定时器 Qt 中在进⾏窗⼝程序的处理过程中,经常要周期性的执⾏某些操作,或者制作⼀些动画效果,使⽤定 时器就可以实现。所谓定时器就是在间隔⼀定时间后,去执⾏某⼀

独立按键单击检测(延时消抖+定时器扫描)

目录 独立按键简介 按键抖动 模块接线 延时消抖 Key.h Key.c 定时器扫描按键代码 Key.h Key.c main.c 思考  MultiButton按键驱动 独立按键简介 ​ 轻触按键相当于一种电子开关,按下时开关接通,松开时开关断开,实现原理是通过轻触按键内部的金属弹片受力弹动来实现接通与断开。  ​ 按键抖动 由于按键内部使用的是机

linux高级学习10

24.9.7学习目录 一.线程1.线程API 一.线程 线程与进程的关系: 线程是轻量级进程,也有PCB,只是各自不同,创建线程使用的底层函数和进程一样,都是clone进程可以蜕变成线程线程是最小的执行单位,进程是最小的分配资源单位 1.线程API (1)查看线程号 #include <pthread.h>pthread_t pthread_self(); (2)

Mysql高级教程

1.安装部署 安装依赖性: [root@mysql-node10 ~]# dnf install cmake gcc-c++ openssl-develncurses-devel.x86_64 libtirpc-devel-1.3.3-8.el7_4.x86_64.rpm rpcgen.x86_64 下载并解压源码包 [root@mysql-node10 ~]# tar zx

Java高级Day38-网络编程作业

112.网络编程作业 //1.使用字符流的方式,编写一个客户端程序和服务器端程序//2.客户端发送"name",服务器端接收到后,返回"我是nova"//3.客户端发送"hobby",服务器端接收到后,返回"编写java程序"//4.不是这两个问题,回复"你说啥呢"​​===============//客户端//===============public class SocketT

掌握Hive函数[2]:从基础到高级应用

目录 高级聚合函数 多进一出 1. 普通聚合 count/sum... 2. collect_list 收集并形成list集合,结果不去重 3. collect_set 收集并形成set集合,结果去重  案例演示 1. 每个月的入职人数以及姓名  炸裂函数  概述  案例演示 1. 数据准备 1)表结构 2)建表语句 3)装载语句 2. 需求 1)需求说明 2)答