STM32PWM应用

news2024/11/23 19:32:58

一、输出比较(OC)

OC(Output Compare)输出比较

  • 可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形
  • 每个高级定时器和通用定时器都拥有4个输出比较通道
  • 高级定时器的前3个通道额外拥有死区生成和互补输出的功能

捕获/比较通道的输出部分(通道一)如下:

CNT>=CCR1时,输出模式控制器会输出一个OC1ref,也就是一个输出比较的参考信号,可以映射到至主模式控制器,最常用的是走下面的那一条路到达CC1P极性选择,给这个寄存器写0,信号往上走,信号电平不翻转;给这个寄存器写1,信号往下走,经过一个非门取反,信号电平会发生翻转,原来的参考信号中高低电平会相反。输出使能电路就是要不要输出,OC1引脚就是CH1通道的引脚。

输出模式控制器中的输出比较8种模式,如下图:

图中置有效电平不可以直接理解为就是高电平,置无效电平也不可以直接理解为就是低电平。因为有效电平与输出极性(TIMx_CCER寄存器中的 CCxP位)有直接关系,TIMx_CCER寄存器中置CCxP = 0,选择极性为高电平有效,这时候置有效电平就为高电平;TIMx_CCER寄存器中置CCxP = 1,选择极性为低电平有效,这时候置有效电平就为低电平。

假如我们用PWM模式1,定时器设置为向上计数模式,TIMx_CCER寄存器中置CCxP = 0(在编程库函数是这个参数TIM_OCInitStructure.TIM_OCPolarityTIM_OCPolarity_High)。CNT<CCR时REF置有效电压为高电平输出,CNT>=CCR时,REF置无效电压为低电平输出。相反,如果TIMx_CCER寄存器中置CCxP = 1,CNT<CCR时REF置有效电压为低电平输出,CNT>=CCR时,REF置无效电压为高电平输出

冻结模式:当使用时,状态为暂停时的状态。

匹配时置有效电平/无效电平:是高级定时器里面用的。它俩都是一次性的置完高电平/低电平后,就不管事了,所以这俩模式不适合输出连续变化的波形。

匹配时电平翻转:可以输出一个连续的波形,输出频率=定时器频率/2,如下,会输出一个占空比为50%的波形。

强制为无效电平/无效电平:把REF强制设置为高电平/低电平。

PWM模式1/模式2:可以输出频率和占空比可调的PWM波形,功能如上图,注意一点的是定时器计数方式。

二、PWM:

1、简介

必须在具有惯性系统下应用,如灯亮灭、电机调速等,所谓的惯性,如灯灭掉,不会立马熄灭,而是慢慢的熄灭;电机也是慢慢的停止。

2、基本结构

3、参数计算

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

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

相关文章

三菱FX3U定位控制接线示例(脉冲控制伺服)

一、FX3u系列基本单元(DC24V输入) 二、FX3u系列基本单元(晶体管输出) 脉冲输出用端子Y000、 Y001、 Y002为高速响应输出。 三、FX3UPLC链接MR-J4-A伺服连接实例 1、为了安全起见&#xff0c;不仅仅在可编程控制器侧&#xff0c;在伺服放大器侧也请设计正转限位和反转限位的限位…

查缺补漏----拥塞窗口

注意事项1&#xff1a; 首先区分超时和收到3个冗余ACK&#xff0c;显然超时更加严重。如下图所示&#xff1a; 如果网络出现超时&#xff0c;那么发送窗口cwnd变为1&#xff0c;门限值ssthresh变为原来拥塞窗口的一半 如果收到3个冗余ACK&#xff0c;发送窗口cwnd门限值ssth…

Java重修笔记 第六十一天 坦克大战(十一)IO 流 - 节点流和处理流、BufferedReader 和 BufferedWriter

节点流和处理流的区别和联系 1. 节点流是底层流/低级流&#xff0c;直接和数据源联系 2. 处理流是经过包装过后的节点流&#xff0c;也叫包装流&#xff0c;既可以消除不同节点流的实现差异&#xff0c;也可以提供更方便的方法来完成输入输出 3. 处理流&#xff08;包装流&…

二叉树基本概念讲解

一.树的概念 1.概念 树是⼀种非线性的数据结构&#xff0c;它是由 n&#xff08;n>0&#xff09;个有限结点组成⼀个具有层次关系的集合。把它叫 做树是因为它看起来像⼀棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的。 有⼀个特殊的结点&#xff0c…

动态规划基础一>面试题 08.01. 三步问题

1.题目&#xff1a; 2.解析&#xff1a; 代码&#xff1a; public int waysToStep(int n) {/**1.创建dp表2.初始化3.填表4.返回值*/int MOD (int)1e9 7;//注意不能超出int范围&#xff0c;每做一次操作要取模//处理边界情况if(n 1 || n 2) return n;if(n 3) return 4;//1…

【小沐学CAD】ParaView Web的学习笔记(Python)

文章目录 1、简介1.1 visualizer1.2 Divvy1.3 Lite1.4 LightViz1.5 ArcticViewer1.6 HPCCloud1.7 glance1.8 trame 结语 1、简介 https://pvw.kitware.com/ VTK/ParaView Web&#xff0c;用于 Web 数据处理和可视化的框架 ParaViewWeb 是一个 Web 框架&#xff0c;用于在 Web …

[C++][第三方库][ODB]详细讲解

目录 1.介绍2.安装1.安装 build22.安装 odb-compiler3.安装 ODB 运行时库4.安装MySQL和客户端开发包5.安装 boost profile 库6.总体操作7.测试样例 3.ODB 常见操作1.ODB 类型映射2.ODB 编程1.指令2.示例 4.类与接口5.使用 1.介绍 ODB框架&#xff1a;数据库ORM框架 --> 对象…

vulnhub-Web Developer 1靶机

vulnhub&#xff1a;Web Developer: 1 ~ VulnHub 导入靶机&#xff0c;放在kali同网段&#xff0c;扫描 靶机在192.168.114.129&#xff0c;扫描端口 有网站服务&#xff0c;访问 没什么东西&#xff0c;扫目录 真不少&#xff0c;访问一下&#xff0c;也只是一些普通的Wordpr…

【机器学习】智驭未来:探索机器学习在食品生产中的革新之路

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀目录 &#x1f50d;1. 引言&#xff1a;探索机器学习在食品生产中的革新之路&#x1f4d2;2. 机器学习在食品质量控制中的应用&#x1f31e;实…

Crypto虐狗记---”你“和小鱼(六)

前言&#xff1a;剧情六 提示&#xff1a; 下载 手动&#xff1a; 脚本&#xff1a;我不会 参考大佬&#xff1a; 转轮机加密详解两种解题方法 -攻防世界-CSDN博客 import re sss1: < ZWAXJGDLUBVIQHKYPNTCRMOSFE < 2: < KPBELNACZDTRXMJQOYHGVSFUWI < 3: < …

计算机的错误计算(一百一十五)

摘要 用错数定量解释计算机的错误计算&#xff08;一百一十四&#xff09;中的错误计算原因。 例1. 已知 计算 在 的错数&#xff0c;并与计算机的错误计算&#xff08;一百一十四&#xff09;中的相应错误数字个数做比较。 由 知&#xff0c; 再由 可得&#xff0c…

爬虫工程师必备工具——Postman和Fiddler的使用教程(11)

文章目录 1、工具获取2、基础使用教程2.1 Postman2.2 Fiddler2.2.1 简介2.2.2 工作原理2.2.3 功能设置2.2.4 使用方法1、工具获取 PostmanFiddler2、基础使用教程 2.1 Postman Postman是一款API调试工具,它简化了HTTP请求的构建、发送、响应查看以及测试流程,帮助开发人员高…

No.9 笔记 | PHP学习指南:从入门到精通的要点总结

一、PHP概述 1. Web技术基础 Web&#xff1a;由互相链接的超文本文件组成的系统URL&#xff1a;定位Web资源的地址HTTP&#xff1a;Web数据交换协议架构类型&#xff1a;B/S&#xff08;浏览器/服务器&#xff09;和C/S&#xff08;客户端/服务器&#xff09; 2. PHP简介 定…

无法加载响应数据: No data found for resourcewith given identifier

背景 学习黑马2022Redis教程&#xff0c;在开发P78达人探店功能&#xff0c;重新在前端登录的时候发现&#xff0c;所有的请求都需要发两遍才能成功。 失败的请求报错&#xff1a; 无法加载响应数据: No data found for resourcewith given identifier 排查 因为用到nginx,…

No.8 笔记 | SQL 查询语句:数据探索的钥匙

2024/10/7 心记 - 致在路上默默奋斗的你 在当今数字化的时代&#xff0c;网络安全已成为我们生活中不可或缺的一部分。它如同守护数字世界的隐形盾牌&#xff0c;保护着我们的隐私、数据和整个社会的稳定运行。 学习网络安全&#xff0c;是踏上一段充满挑战与机遇的征程。 每一…

Pytorch实现心跳信号分类识别(支持LSTM,GRU,TCN模型)

Pytorch实现心跳信号分类识别(支持LSTM,GRU,TCN模型&#xff09; 目录 Pytorch实现心跳信号分类识别(支持LSTM,GRU,TCN模型&#xff09; 1. 项目说明 2. 数据说明 &#xff08;1&#xff09;心跳信号分类预测数据集 3. 模型训练 &#xff08;1&#xff09;项目安装 &am…

查缺补漏----IP通信过程

1.DHCP协议 H3刚接入网络时&#xff0c;只知道自己的MAC地址&#xff0c;所以需要通过DHCP协议请求自己的IP地址。 通过DHCP协议&#xff0c;得到IP地址、子网掩码、网关与DNS服务器IP地址。 DHCP协议是应用层协议(传输层为UDP)&#xff0c;请求报文是广播&#xff08;H3不知…

深入了解Python:那些常被忽略的知识点

作为现代编程语言的典范&#xff0c;Python以其简洁、高效和广泛的应用领域赢得了无数开发者的青睐。然而&#xff0c;即使是经验丰富的Python程序员&#xff0c;也可能不了解Python的一些特性或最佳实践。这篇文章将介绍Python中常被忽略的一些知识点&#xff0c;通过全面的分…

图文深入理解Oracle DB Scheduler

值此国庆佳节&#xff0c;深宅家中&#xff0c;闲来无事&#xff0c;就多写几篇博文。今天继续宅继续写。本篇图文深入介绍Oracle DB Scheduler。 Oracle为什么要使Scheduler&#xff1f; 答案就是6个字&#xff1a;简化管理任务。 • Scheduler&#xff08;调度程序&#x…

代码随想录训练营Day26 | 669. 修剪二叉搜索树 | 108.将有序数组转换为二叉搜索树 | 538.把二叉搜索树转换为累加树

学习文档&#xff1a;代码随想录 (programmercarl.com) Leetcode 669. 修剪二叉搜索树 题目描述 给你二叉搜索树的根节点 root &#xff0c;同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树&#xff0c;使得所有节点的值在[low, high]中。修剪树 不应该 改变保留…