STM32F407-14.3.10-01PWM模式

PWM 模式 


脉冲宽度调制模式可以生成一个信号,该信号频率由 TIMx_ARR⑩ 寄存器值决定,其占空比由 TIMx_CCRx⑤ 寄存器值决定。
通过向 TIMx_CCMRx 寄存器中的 OCxM⑰ 位写入 110 (PWM 模式 1)或 111 (PWM 模式 2),可以独立选择各通道 (每个 OCx⑲ 输出对应一个 PWM)的 PWM 模式。必须通过将 TIMx_CCMRx 寄存器中的 OCxPE⑫ 位置 1 使能相应预装载寄存器,最后通过将 TIMx_CR1 寄存器中的 ARPE⑮ 位置 1 使能自动重载预装载寄存器(在递增计数或中心对齐模式下)。
由于只有在发生更新事件时预装载寄存器才会传送到影子寄存器,因此启动计数器之前,必须通过将 TIMx_EGR 寄存器中的 UG⑧ 位置 1 来初始化所有寄存器。
OCx⑲ 极性可使用 TIMx_CCER 寄存器的 CCxP⑱ 位来编程。既可以设为高电平有效,也可以设为低电平有效。通过 CCxE、CCxNE、MOE、OSSI 和 OSSR 位(21)(TIMx_CCER 和 TIMx_BDTR 寄存器)的组合使能 OCx⑲ 输出。有关详细信息,请参见 TIMx_CCER 寄存器 说明。
在 PWM 模式(1 或 2)下,TIMx_CNT⑦ 总是与 TIMx_CCRx⑥ 进行比较,以确定是 TIMx_CCRx ≤ TIMx_CNT 还是 TIMx_CNT ≤ TIMx_CCRx(取决于计数器计数方向)。
根据 TIMx_CR1 寄存器中的 CMS② 位状态,定时器能够产生边沿对齐模式或中心对齐模式的 PWM 信号。
-------------------------------------------------------------------------------------------------------------------------


 


-------------------------------------------------------------------------------------------------------------------------

PWM 边沿对齐模式 


● 递增计数配置 
当 TIMx_CR1 寄存器中的 DIR① 位为低时执行递增计数。请参见第 332 页的递增计数模 式一节。 
以下以 PWM 模式 1 为例。只要 ⑦TIMx_CNT < TIMx_CCRx⑥,PWM 参考信号 OCxREF⑯ 便为高电平,否则为低电平。如果 TIMx_CCRx⑥ 中的比较值大于自动重载值(TIMx_ARR⑨ 中),则 OCxREF⑯ 保持为“1”。如果比较值为 0,则 OCxRef 保持为“0”。图 103 举例 介绍边沿对齐模式的一些 PWM 波形 (⑩TIMx_ARR=8)。 
-------------------------------------------------------------------------------------------------------------------------


-------------------------------------------------------------------------------------------------------------------------
● 递减计数配置
 当 TIMx_CR1 寄存器中的 DIR① 位为高时执行递减计数。请参见第 335 页的递减计数模式一节。 在 PWM 模式 1 下,只要 ⑦TIMx_CNT > TIMx_CCRx⑥,参考信号 OCxRef⑯ 即为低电平, 否则其为高电平。如果 TIMx_CCRx 中的比较值大于 TIMx_ARR⑩ 中的自动重载值,则 OCxREF⑯ 保持为“1”。此模式下不可能产生 0% 的 PWM 波形。 

PWM 中心对齐模式 
当 TIMx_CR1 寄存器中的 CMS② 位不为“00”(其余所有配置对 ⑯OCxRef/OCx⑲ 信号具有相同的作用),中心对齐模式生效。根据 CMS② 位的配置,可以在计数器递增计数、递减计数 或同时递增和递减计数时将比较标志置 1。TIMx_CR1 寄存器中的方向位 (DIR)① 由硬件更新,不得通过软件更改。请参见第 337 页的中心对齐模式(递增/递减计数)。
图 104 显示了中心对齐模式的 PWM 波形,在此例中: 
● TIMx_ARR=8, ⑩
● PWM 模式为 PWM 模式 1,
● 在根据 TIMx_CR1 寄存器中 CMS=01②  而选择的中心对齐模式 1 下,当计数器递减计数时,比较标志置 1。 
-------------------------------------------------------------------------------------------------------------------------


-------------------------------------------------------------------------------------------------------------------------
中心对齐模式使用建议:

 
● 启动中心对齐模式时将使用当前的递增/递减计数配置。这意味着计数器将根据写入 TIMx_CR1 寄存器中 DIR① 位的值进行递增或递减计数。此外,不得同时通过软件修改 DIR① 和 CMS② 位。 
● 不建议在运行中心对齐模式时对计数器执行写操作,否则将发生意想不到的结果。尤 其是: 
- 如果写入计数器中的值大于自动重载值 (TIMx_CNT>TIMx_ARR),计数方向不会更新。例如,如果计数器之前递增计数,则继续递增计数。 
- 如果向计数器写入 0 或 TIMx_ARR⑩ 的值,计数方向会更新,但不生成更新事件 UEV。 
● 使用中心对齐模式最为保险的方法是:在启动计数器前通过软件生成更新(将 TIMx_EGR 寄存器中的 UG⑧ 位置 1),并且不要在计数器运行过程中对其执行写操作。 

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

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

相关文章

已解决log4j:WARN No appenders could be found for logger(org.apache.ibatis.logging.LogFactory).异常的正确解决方法

已解决log4j:WARN No appenders could be found for logger(org.apache.ibatis.logging.LogFactory).异常的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 文章目录 报错问题解决思路解决方法交流 报错问题 log4j:WARN No appenders could be found …

SpringCloud简介和用处

Spring Cloud是一套基于Spring Boot的微服务框架&#xff0c;它旨在提供一种快速构建分布式系统的方法。它可以帮助开发人员构建具有高可用性、可扩展性和容错性的微服务&#xff0c;并通过Spring Boot的开发工具和库提供强大的支持。 一、简介 Spring Cloud是Spring家族中的一…

React如何像Vue一样将css和js写在同一文件

如果想在React中想要像Vue一样把css和js写到一个文件中&#xff0c;可以使用CSS-in-JS。 使用CSS-in-JS 下载 npm i styled-components使用 就像写scss一样&#xff0c;不过需要声明元素的类型 基本语法及展示如下&#xff0c; import styled from "styled-component…

鸿蒙开发:Stage模型开发-应用/组件级配置以及UIAbility组件初步使用【鸿蒙专栏-20】

文章目录 Stage模型开发概述基本概念UIAbility组件和ExtensionAbility组件WindowStageContextAbilityStage开发流程应用组件开发了解进程模型了解线程模型应用配置文件应用版本声明配置Module支持的设备类型配置Module权限配置进阶应用配置

C语言实现Cohen_Sutherland算法

前提简要&#xff1a; 算法简介&#xff1a; 编码算法是最早、最流行的线段裁剪算法&#xff0c;该算法采用区域检验的方法&#xff0c;能够快速有效地判断一条线段与裁剪窗口的位置关系&#xff0c;对完全接受或完全舍弃的线段无需求交&#xff0c;即可直接识别。 算法思想&…

Python - 字典3

修改字典项 您可以通过引用其键名来更改特定项的值&#xff1a; 示例&#xff0c;将 “year” 更改为 2018&#xff1a; thisdict {"brand": "Ford","model": "Mustang","year": 1964 } thisdict["year"] 20…

GO基础之变量与常量

标识符与关键字 标识符 在编程语言中标识符就是程序员定义的具有特殊意义的词&#xff0c;比如变量名、常量名、函数名等等。 Go语言中标识符由字母数字和_(下划线&#xff09;组成&#xff0c;并且只能以字母和_开头。 举几个例子&#xff1a;abc, _, _123, a123。 关键字 关键…

周周清(1)

项目进度&#xff1a; 最近一直在搭建环境&#xff0c;都没写什么&#xff1a;登陆页面采用登陆注册在同一个界面&#xff0c;用v-if进行渲染&#xff0c;并且借助validation插件中的yup神器进行校验&#xff0c; <script setup> // import { ref } from vue import * …

Java流Stream使用详解(上)

Java流Stream使用详解 体验Stream流的作用 需求&#xff1a;按照下面的要求完成集合的创建和遍历创建一个集合&#xff0c;存储多个字符串元素 ArrayList<String> list new ArrayList<>(); list.add("张无忌"); list.add("周芷若"); lis…

Qt配置OpenCV(MSVC编译)

目录 1.准备工具 1.1 Qt&#xff1a;5.14.2 64位 1.2 Opencv&#xff1a;4.6.0 1.3 Visual Studio 2017 2. QtMSVC开发环境搭建 3. 配置环境变量 3.1 Opencv环境变量配置 4. Qt 代码测试 1.准备工具 1.1 Qt&#xff1a;5.14.2 64位 1.2 Opencv&#xff1a;4.6.0 官…

npmmirror 镜像站(国内好用的npm镜像站 cnpm)

npmmirror 镜像站 原淘宝npm域名即将停止解析&#xff0c;请切换至新域名 npmmirror.com http://npm.taobao.org和 http://registry.npm.taobao.org 已经在 2022.06.30 号正式下线和停止 DNS 解析。 新域名为 npmmirror.com, 相关服务域名切换规则请参考&#xff1a; http:/…

1.什么是html

1.什么是html什么是html&#xff1f; 一.基础信息 英文名字&#xff1a;HyperText Markup Language 中文名字&#xff1a;超文本标记语言 简称&#xff1a;html 文件格式&#xff1a;.htm 或 .html 结尾 作用&#xff1a;描述网页的语言。通过各种各样的标签&#xff0c;组…

数据库-PostgreSQL学习笔记

目录 PostgreSQL介绍与安装docker安装腾讯云免费领用1个月 数据库操作连接数据库实例创建数据库查看数据库列表使用数据库删除数据库修改数据库属性 表操作字段类型整数浮点数日期与时间类型字符串类型 DDLCREATEDROPALTER DMLINSERTUPDATEDELETE 查询查询所有数据查询部分列指…

Windows驱动中校验数字签名(使用 ci.dll)

1.背景 对于常规应用程序来说&#xff0c;校验数字签名认证在应用层可以使用 WinVerifyTrust, 在驱动层使用常规的 API无法使用&#xff0c;自己分析数据又太麻烦。 在内核中 ci.dll 包装了数据签名验证相关的功能&#xff0c;我们可以使用该 dll 来实现我们的数字签名验证。 详…

Ubuntu20.24 安装ecCodes,包括 tar.gz 和 python(笔记)

这里写目录标题 动机为此找了解决方案。废话不多说&#xff0c;如下&#xff1a;1. 下载 ecCodes 的源文件&#xff0c;网址如下&#xff1a; https://confluence.ecmwf.int/display/ECC/Releases2. 解压包:3. 创建 ecCodes 的安装目录:4. 通过 cmake 安装 :5. 编译, 测试&…

Siemens-NXUG二次开发-新建与保存prt文件[Python UF][20231204]

Siemens-NXUG二次开发-新建与保存prt文件[Python UF][20231204] 1.python uf函数1.1 NXOpen.UF.Part.New1.2 NXOpen.UF.Part.Save1.3 NXOpen.UF.Ui.OpenListingWindow1.4 NXOpen.UF.Ui.IsListingWindowOpen1.5 NXOpen.UF.Ui.WriteListingWindow1.6 NXOpen.UF.Ui.SaveListingWin…

电气间隙和爬电距离的算法

电气间隙和爬电距离 一、定义 1、电气间隙&#xff1a;不同电位的两个导电部件间最短的空间直线距离。 2、爬电距离&#xff1a;不同电位的两个导电部件之间沿绝缘材料表面的最短距离。 3、隔离距离&#xff08;机械式开关电器一个极的&#xff09;&#xff1a;满足对隔离器…

【重点】【双指针】42. 接雨水

题目 重点题目&#xff0c;深刻理解&#xff01;&#xff01;&#xff01; 解法1&#xff1a;备忘录 O(N) O(N) class Solution {public int trap(int[] height) {int n height.length, res 0;int[] lMax new int[n];int[] rMax new int[n];lMax[0] height[0];rMax[n …

华为手环关闭智能适时测量

问题 使用华为手环并使用华为创新研究APP后&#xff0c;会自动打开智能适时测量开关&#xff0c;此开关开启后&#xff0c;手环会在睡眠时间自动测量血氧&#xff0c;增加手环功耗从而影响续航&#xff0c;用户可根据自身需求决定是否开启&#xff0c;下文介绍如何找到此开关。…