STM32——HAL库开发笔记21(定时器2—输出比较)(参考来源:b站铁头山羊)

news/2025/2/25 16:57:58

本文主要讲述输出比较及PWM信号相关知识。

一、概念

所谓输出比较,就是通过单片机的定时器向外输出精确定时的方波信号。

1.1 PWM信号

PWM信号即脉冲宽度调制信号。PWM信号的占空比 = (高电压 所占周期 / 整个周期)  * 100% 。所以PWM信号的特点就是周期恒定,占空比可调。信号强度越强的地方PWM占空比越大,信号强度越小的地方PWM占空比就越小。如下图所示。

接下来通过一个例子解释一下输出比较的工作原理:使用定时器产生周期为1Ms的占空比为50%PWM信号。

时钟源的频率为8MHZ,预分频器PSC = 799 ,计数器CNT的计数方向为上技术,自动重装寄存器为ARR = 9,重复计数器RCR = 0。

在如下这幅图中,CCR寄存器为捕获/比较寄存器,比如让CCR1 = 4,当CNT ≤ CCR1时,输出高电压,当CNT>CCR1,输出低电压。

这样我们就得到了占空比为50%,周期为1ms的PWM波形。

从以上这个例子我们可以看出,时基单元决定了PWM信号的周期,CCR决定了PWM的占空比。再例如CCR1 = 1,我们就可以得到占空比为20%的占空比信号。

二、其他细节

现在我们将画红线的部分展开,更加具体的研究。

具体细节图如下:

互补输出只有高级定时器才有,当驱动MOS管时采用。

如上图所示

1.在节点1,我们首先要将CNT和CCR的值进行参考,有三种结果,CNT<CCR ; CNT>CCR; CNT=CCR。接下来我们要选择一种模式,总共有8种模式,如下图:

在这8中模式里面,我们最常使用的是PWM1。

2.极性选择。

有两种极性,Positive 为正极性,Negative为负极性。


http://www.niftyadmin.cn/n/5865736.html

相关文章

Python爬虫的破局之路:从数据收割到智能革命的创新风暴

一、当爬虫成为数字世界的"掘金铲" 在互联网的浩瀚海洋里,每秒钟都有价值千亿美元的数据洪流奔涌而过。这些数据就像深埋在地底的石油矿藏,而Python爬虫就是当代数字矿工手中最锋利的掘金铲。从华尔街的交易员盯着爬取的实时经济数据调整投资策略,到电商运营通过…

力扣-贪心-56 合并区间

思路 先按照左区间进行排序&#xff0c;然后初始化left和right&#xff0c;重叠时&#xff0c;更新right&#xff0c;不重叠时&#xff0c;收集区间 代码 class Solution { public:static bool cmp(vector<int> a, vector<int> b){if(a[0] b[0]){return a[1] &…

基于Docker的前端环境管理:从开发环境到生产部署的实现方案

# 基于Docker的前端环境管理&#xff1a;从开发环境到生产部署的实现方案 简介及前端开发环境挑战 简介 是一种容器化平台&#xff0c;可以将应用程序及其依赖项打包为一个容器&#xff0c;提供一种轻量级、可移植的环境。它能够简化开发、部署和运维的流程&#xff0c;提高…

性能巅峰对决:Rust vs C++ —— 速度、安全与权衡的艺术

??关注&#xff0c;带你探索Java的奥秘&#xff01;?? ??超萌技术攻略&#xff0c;轻松晋级编程高手&#xff01;?? ??技术宝库已备好&#xff0c;就等你来挖掘&#xff01;?? ??订阅&#xff0c;智趣学习不孤单&#xff01;?? ??即刻启航&#xff0c;编…

无名管道、有名管道、信号、信号处理

1. 进程间通信&#xff08;IPC&#xff09; 进程间通信&#xff08;IPC&#xff09;是指在不同进程之间交换数据或信息的机制。常见的 IPC 方法包括&#xff1a; 1.1 管道&#xff08;Pipe&#xff09; 无名管道&#xff08;Anonymous Pipe&#xff09;&#xff1a; 只能用于…

一键快速打包提交发布命令行工具

最近闲着没事儿&#xff0c;自己开发了一个能够一键快速打包发布和推送GIT的命令行工具&#xff0c;目前以开源 GitHub地址 话不多说直接进入正题&#xff0c;欢迎大家前来使用 第一步&#xff1a; 执行以下命令&#xff0c;下载该工具 该工具支持使用 npm、pnpm、yarn 和 …

基于CentOS7安装kubesphere和Kubernetes并接入外部ES收集日志

一、修改所有节点主机名 主节点就修改成master hostnamectl set-hostname master 然后输入bash刷新当前主机名 工作节点1就修改成node1 hostnamectl set-hostname node1 然后输入bash刷新当前主机名 二、全部节点安装依赖并同步时间 yum -y install socat conntrack ebta…

Spark MLlib中的机器学习算法及其应用场景

Spark MLlib是Apache Spark框架中的一个机器学习库&#xff0c;提供了丰富的机器学习算法和工具&#xff0c;用于处理和分析大规模数据。以下是Spark MLlib中的机器学习算法及其应用场景的详细描述&#xff1a; 一、Spark MLlib中的机器学习算法 分类算法&#xff1a; 逻辑回…