第八周学习笔记
定时器的基本原理概念以及应用
1.定时器的基本原理
定时器本质上是一个计数器。如果输入的是一个恒定的脉冲信号源(一般情况下是时钟信号),我们就可以根据定时器的计数(脉冲个数)和时钟频率计算出时间,这个就是定时器的基本原理。当然,定时器也可以作为计数器来使用,例如计算外部脉冲的个数等。这就是定时器的功能:计时和计数(实质都是计数)
2.定时器的基本类型
定时器通常根据计时方式和功能特点进行分类。
- 按计时方式分类:
向上计数定时器(Up Counter):从初始值开始逐渐增加计数,直到达到目标值或计时结束。
向上计数定时器的基本寄存器:计数寄存器,比较寄存器(当计数寄存器和比较寄存器数值一致的时候可以用来触发中断)
向下计数定时器(Down Counter):从初始值开始逐渐减少计数,直到计数器的值为零或计时结束。
向下计数定时器基本寄存器:计数寄存器,重载寄存器(当计数为0时候,计数寄存器被赋予重载寄存器重复下一次定时) - 按功能特点分类:
基本定时器:提供基本的计时和中断功能,适用于简单的时间控制需求。
通用定时器/计数器:具备更多的功能和灵活性,如多通道输出、输入捕获、编码器接口等
3.定时器的作用
3.1定时器的PWM输出功能原理与流程
第一步:设置定时器模式
定时器作为PWM输出时候处于PWM模式(有些也称作为free-run模式),当比较事件发生以后并不会复位计数器,而是继续计数,直到计数值为 MAX,然后重新回滚到 0
第二步:设置占空比
(向上计数)当定时器的计数值小于等于比较寄存器的值时,输出信号为高电平;否则为低电平,通过调节比较寄存器就可以调节PWM的占空比。
第三步:设置周期
周期则是计数器从0->MAX的总时长,通过调节定时器的输入预分频,来设置PWM的周期
由于一个定时器可以同时有多个比较寄存器,所以我们可以同时输出多路不同占空比的PWM,但是他们的周期是一样的。并且可以设置为其中两路形成互补输出
3.2定时器输入捕获功能原理与流程
定时器输入捕获功能至少需要两个输入捕获寄存器
第一步:分别设置两个输入捕获寄存器捕获的条件(例如上升沿触发)
当外界输入第一次满足条件,第一个输入捕获寄存器会把当前计数器的值保存在本地。当外界输入再次满足捕获条件,第二个输入捕获寄存器会把当前计数器的值再次保存在本地。
第二部:比较计算
通过比较以及计算两个输入捕获寄存器的值,我们就可以知道两次输入捕获触发的时间差,进而算出周期频率等系列参数
3.3其他作用(常用)
计时:通过两次读取的计数器以及输入频率进行计数来计算时间
周期中断:当计数器和比较器一致的时候触发中断,并重新载入计数器的值
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!