对 TIM_SetCompare1(TIM_TypeDef* TIMx, uint16_t Compare1)函数在PWM应用中的理解

2023-10-31

注意:以下为本人理解,并非权威,仅做参考,虚心接受指正。

首先看原函数如下:

void TIM_SetCompare1(TIM_TypeDef* TIMx, uint16_t Compare1)
{
  /* Check the parameters */
  assert_param(IS_TIM_LIST8_PERIPH(TIMx));
  /* Set the Capture Compare1 Register value */
  TIMx->CCR1 = Compare1;
}

该函数第一个参数是定时器名称,不多说,主要讲第二个参数。

从函数里面可以看到,第二个参数是赋值给了TIMx->CCR1这个捕获比较寄存器。由于在PWM模式下,计数值TIMx_CNT和TIMx_CCRx始终在进行比较,且当计数值TIMx_CNT<TIMx_CCRx时,PWM信号为高电平,在定时器向上计数模式下即可理解成第二个参数Compare1为PWM高电平的持续时间。

例如:当Compare1 = 100时,TIMx_CCRx = Compare1 = 100,计数器计数值TIMx_CNT从0计数的99期间,TIMx_CNT<TIMx_CCRx,所以PWM一直为高电平,即PWM高电平时间为100。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对 TIM_SetCompare1(TIM_TypeDef* TIMx, uint16_t Compare1)函数在PWM应用中的理解 的相关文章

  • STM32 F072上的软件如何跳转到bootloader(DFU模式)?

    STM32应用笔记2606对此进行了讨论 但没有简单的代码示例 该答案已使用 IAR EWARM 在 STM32F072 Nucleo 板上进行了测试 这个答案使用 STM32标准外设库 仅此而已 请注意 验证您是否成功进入引导加载程序模式
  • 135-基于stm32单片机超声波非接触式感应水龙头控制系统Proteus仿真+源程序

    资料编号 135 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 DHT11传感器 电机 超声波传感器 制作一个基于stm32单片机超声波非接触式感应水龙头控制系统Proteus仿真 2 通过DHT11传感器检测当前
  • rt-thread studio中新建5.0不能用

    文章目录 一 版本对比 二 文件和文件夹打斜杠 在使用RT Thread studio创建新工程5 0版本的时候 结果发现新建完成之后程序不能正常运行 但是创建4 10版本的时候却能运行 那肯定是新版本出现了BUG 一 版本对比 首先对比了
  • STM32F4 通过软复位跳转到引导加载程序,无需 BOOT0 和 BOOT1 引脚

    我问这个问题是因为可以在这里找到类似问题的答案 通过应用程序跳转到 STM32 中的引导加载程序 即从用户闪存在引导模式下使用引导 0 和引导 1 引脚 用户 JF002 JF002回答 当我想跳转到引导加载程序时 我在其中一个备份寄存器中
  • STM32用一个定时器执行多任务写法

    文章目录 main c include stm32f4xx h uint32 t Power check times 电量检测周期 uint32 t RFID Init Check times RFID检测周期 int main Timer
  • [MM32硬件]搭建灵动微MM32G0001A6T的简易开发环境

    作为学习单片机的经典 自然是通过GPIO点亮LED 或者是响应按钮的外部中断例程 这我们看看SOP8封装的芯片MM32G0001A6T得引脚 除了VDD和GND固定外 我们可以使用PA14 PA1 PA13 PA15 PA2 PA3这六个G
  • 最终启动顺序错误 - STM32L476 的 Eclipse System Workbench 调试

    我正在尝试调试和运行 STM32L476 的简单汇编代码 我已经设置了 Eclipse Oxygen 在 Eclipse 中安装了最新版本的 System Workbench 插件并安装了 ST Link 驱动程序 IDE 成功构建了程序
  • 擦除后无法写入闪存

    所以我不能在擦除后直接写入内部闪存 如果写操作之前没有擦除操作 那么我可以 有什么想法吗 编程函数返回 成功写入 值 但查看内存时 没有写入任何数据 这是代码 uint32 t pageAddress 0x08008000 uint16 t
  • 1.69寸SPI接口240*280TFT液晶显示模块使用中碰到的问题

    1 69寸SPI接口240 280TFT液晶显示模块使用中碰到的问题说明并记录一下 在网上买了1 69寸液晶显示模块 使用spi接口 分辨率240 280 给的参考程序是GPIO模拟的SPI接口 打算先移植到FreeRtos测试 再慢慢使用
  • STM32F207 I2C 测试失败

    我正在使用 STM32F207 微控制器在 STM3220G EVAL 板上学习嵌入式开发 我尝试通过连接同一芯片上的两个 I2C2 和 I2C3 模块并发送 接收字符来测试 I2C 接口 这是我当前编写的代码 使用 mdk arm 5 i
  • 无法使用 OpenOCD 找到脚本文件

    我正在尝试按照本教程将 OpenOCD 与我的 ST 发现板一起使用 https japaric github io discovery README html https japaric github io discovery READM
  • 毕设开题分享 单片机智能教室系统(智能照明+人数统计)

    1 简介 Hi 大家好 今天向大家介绍一个学长做的单片机项目 单片机智能教室系统 智能照明 人数统计 大家可用于 课程设计 或 毕业设计 项目分享 https gitee com feifei1122 simulation project
  • 嵌入式开发--STM32G4系列片上FLASH的读写

    这个玩意吧 说起来很简单 就是几行代码的事 但楞是折腾了我大半天时间才搞定 原因后面说 先看代码吧 读操作 读操作很简单 以32位方式读取的时候是这样的 data IO uint32 t 0x0800F000 需要注意的是 当以32位方式读
  • 库函数点亮Led

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 提示 这里可以添加本文要记录的大概内容 例如 随着人工智能的不断发展 机器学习这门
  • STM32 Nucleo 上的上升沿中断多次触发

    我正在使用 STM32 NUCLEO F401RE 微控制器板 我有一个扬声器 经过编程 当向上 向下推操纵杆时 可以按设定的量改变频率 我的问题是 有时 通常 当向上 向下推动操纵杆时 频率会增加 减少多次 这意味着 ISR 正在执行多次
  • 通过JTAG恢复STM32 MCU磨掉的标记

    我有一块可能带有 STM32 MCU 的板 我想为该板制作定制固件 因为库存板有很多问题 不幸的是 电路板制造商很友善地磨掉了所有标记 有没有办法通过 jtag 获取设备 系列 ID 并将其交叉引用到型号 我能找到的一切都是关于获取芯片的唯
  • STM32 上的位置无关代码 - 指针

    我已成功在 STM32 上构建并运行位置无关的代码 向量表和 GOT 已修补 一切正常 但我对这样的代码有问题 double myAdd double x return x 0 1 double ptrmyAdd double myAdd
  • STM32F0、ST-link v2、OpenOCD 0.9.0:打开失败

    我在用着发射台 http www ti com ww en launchpad about htmlgcc arm none eabi 4 9 2015q2 为 STM32F0 进行编译 现在我想使用该集合中的 arm none eabi
  • HAL_Delay() 陷入无限循环

    我被 HAL Delay 函数困住了 当我调用此函数 HAL Delay 时 控制陷入无限循环 在寻找问题的过程中 我发现了这个 http www openstm32 org forumthread2145 threadId2146 htt
  • 移动数组中的元素

    我需要一点帮助 我想将数组中的元素向上移动一个元素 以便新位置 1 包含位置 1 中的旧值 new 2 包含 old 1 依此类推 旧的最后一个值被丢弃 第一个位置的新值是我每秒给出的新值 我使用大小为 10 的数组 uint32 t TE

随机推荐

  • 摄像机控制脚本

    脚本效果 1 跟随目标物体 2 通过滚轮调整距离 右键或Ctrl 左键旋转角度 using System Collections using System Collections Generic using UnityEngine publ
  • ASP.NET MVC3 类面向切面AOP 的Filter操作

    在开发大项目的时候总会有相关的AOP面向切面编程的组件 而MVC 特指 Asp Net MVC 以下皆同 项目中不想让MVC开发人员去关心和写类似身份验证 日志 异常 行为截取等这部分重复的代码 那我们可以通过AOP截取实现 而在MVC项目
  • 生产者/消费者代码(使用notify和wait实现)

    package cn wzy Lock import java util Random public class ConsumerAndProducer static String food new String 5 static Stri
  • TypeScript入门二(类型)

    1 TypeScrip 的静态类型 TypeScript 的一个最主要特点就是可以定义静态类型 英文是 Static Typing 那到底是什么意思那 太复杂的概念性东西这里就不讲了 你可以简单的理解 静态类型 为 就是你一旦定义了 就不可
  • js 数据转换(保留两位小数,去除前面多余的0等)

    保留两位小数 不够的添0补齐 function changeTwoDecimal f x var f x parseFloat x if isNaN f x return 0 var f x Math round x 100 100 var
  • 为什么const 定义的对象和数组可以改变它的值呢

    碰到这个问题我第一反应是肯定不能改变 如果要改变值的话 用const定义干嘛 然后不信邪在浏览器控制台试试结果 卧槽 但是定义一个基本类型 确实改不了 那为什么const 定义的对象和数组可以改变它的值呢 我来为大家解释一下 都知道对象和数
  • Unity3D实战【七】Cinemachine & Post Processing 摄像机跟踪和后处理

    一 摄像机跟随 1 PackManger中安装Cinemachine 2 点击菜单栏的Cinemachine gt Create Virtual Camera 会代替原来的Main Camera 3 调整参数 Body Framing Tr
  • js中根据已知key得到某对象中相对应的value的方法

    给自己打个小广告 有开发APP 小程序 网站 后台系统需求 或者 想学习前端的可以私信我哈 var key accountBingFlag1 var value obj key var key accountBingFlag1 var va
  • 如何用git命令生成Patch和打Patch

    在程序员的日常开发与合作过程中 对于code的生成patch和打patch 应用patch 成为经常需要做的事情 什么是patch 简单来讲 patch中存储的是你对代码的修改 什么是生成patch 生成patch就是记录你对代码的修改并将
  • python-selenium-规避检测,无头浏览器

    1 无头浏览器 取消的浏览器的可视化界面 在一定程度上加了自动化速度 chrome options Options chrome options add argument headless chrome options add argume
  • Eclipse 解决JSON parse error: Invalid UTF-8 总结 完善

    今天在本地测试通过的代码 部署之Tomcat 服务器 前端同事给我反馈如下的错误信息 org springframework http converter HttpMessageNotReadableException message JS
  • 下载的python没有pip_python – 所有依赖项都不会通过“pip download”下载

    我正在尝试使用可以在没有互联网连接的计算机上重新安装的软件包来设置本地目录 但是我遇到了一些软件包的问题 我首先下载包 pip download r requirements txt d my packages no binary all
  • python_元组_1.07

    一 元组 1 定义 python的元组与列表类似 不同之处在于元组的元素一旦定义就不能修改 添加 删除 可以访问 元组使用小括号 列表使用方括号 元组创建很简单 只需要在括号中添加元素 并使用逗号隔开即可 course chinese ma
  • 微信小程序-消息提示框实例

    做Android的时候对toast是很熟悉的 微信小程序开发中toast也是重要的消息提示方式 提示框 wx showToast OBJECT 显示消息提示框 OBJECT参数说明 示例代码 wx showToast title 成功 ic
  • 第5讲:业务扩展模型图

    业务扩展模型图主要是将雨雾流程相关的重要人 事 物及这个业务流程所要达成的目标做一个链接 不过有关业务流程的内部细节 通常不会在这张图中介绍 一 元素 1 1 流程 Process 代表一连串有意义的工作流程 在一个 流程 中通常要达成一个
  • myeclipse出现Could not find the main class原因分析

    昨天晚上像往常一样打开myeclipse 随便运行一个类 run as java application 居然弹出Could not find the main class Program will exit 按照以往的经验 做如下检查 编
  • 【Unity】ShaderToys——将大神们写的shader搬到unity中来吧

    这篇文章翻译自国外的一篇文章 这里是原文链接 正在使用unity的你是否在shader toy上发现很多牛逼哄哄的shader却不知道如何使用 那么这篇文章就是帮助你来进行转换的 本文只是基础文章 那些对HLSL CG GLSL都很熟悉的大
  • 后台权限管理系统(2)——系统基础数据的展示

    目录 1 页面效果展示 2 具体实现 2 1 订单管理模块 2 1 1 订单展示页面 2 1 2 订单详情页面 1 页面效果展示 实现效果如下 订单管理页面 产品管理页面 2 具体实现 2 1 订单管理模块 2 1 1 订单展示页面 点击订
  • opencv imread图像读取不成功

    不论是imread读取相对路径还是绝对路径 如果imread读取不成功 显示Nnoe 很有可能是你的路径名字中含有中文 检查你的路径中是否含有中文 有的话将其改为英文 1 相对路径示例 import cv2 假如图像文件位于当前工作目录下的
  • 对 TIM_SetCompare1(TIM_TypeDef* TIMx, uint16_t Compare1)函数在PWM应用中的理解

    注意 以下为本人理解 并非权威 仅做参考 虚心接受指正 首先看原函数如下 void TIM SetCompare1 TIM TypeDef TIMx uint16 t Compare1 Check the parameters assert