当前位置: 首页 > news >正文

如果说开启的TIM3定时器有ccr1,ccr2,ccr3,我想要关闭ccr2的PWM输出,怎么通过代码实现

目录

作用概述:

具体原理:

代码的操作细节:

实际效果:

示意全文:

小结:


TIM3->CCER &= ~TIM_CCER_CC2E;

作用概述:

作用是禁用 TIM3 的通道 2(CCR2)的捕获/比较输出,也就是说,让对应的PWM或输出信号停止输出。


具体原理:

STM32的TIMx定时器有一个捕获/比较使能寄存器(CCER),它控制每个通道的输出是否被使能。

  • TIMx->CCER:捕获/比较输出使能寄存器,是一个 16 位或 32 位寄存器(取决于芯片型号)。
  • 控制字符定义:
    • TIM_CCER_CC2E:在标准库定义为对应 CCR2 通道使能位的掩码(一般为 0x0002)。

      具体位:

      • 比如:#define TIM_CCER_CC2E ((uint16_t)0x0002),代表第 1 位(编号为 1),用于控制 CCR2 的输出。

在寄存器中,每一位控制一个通道的使能状态。


代码的操作细节:

TIM3->CCER &= ~TIM_CCER_CC2E;
  • ~ 是按位取反操作:将 TIM_CCER_CC2E 的位变为0,其余位保持不变。
  • &= 是按位与赋值:将 TIM3->CCER 与 ~TIM_CCER_CC2E 进行与操作。

作用

  • 把 CC2E 位清零(设置为 0),
  • 这样,CCR2 通道的输出被禁用(PWM输出停止)。

实际效果:

  • PWM输出停止:对应针脚上的PWM信号变为低电平。
  • 定时器仍在运行(除非你另外停掉定时器或做其他操作)。

示意全文:

操作项实际作用
TIM3->CCER捕获/比较使能寄存器
~TIM_CCER_CC2E反转搜索掩码(将对应位变0)
&=将定时器的CCER寄存器中 CCR2使能位清零

小结:

通过执行这行代码,就可以在不停止定时器的情况下,将 TIM3 通道 2(CCR2)的PWM输出关闭了。


如果还需要其他的控制方法,比如开启,开启的代码是:

TIM3->CCER |= TIM_CCER_CC2E;

相关文章:

  • 软件测试学习笔记
  • 操作系统 : 线程概念与控制
  • 芯片笔记 - 手册参数注释
  • STM32G070xx将Flash页分块方式存储,固定数据块存储,实现一次擦除多次写入
  • 关系代数操作之复杂扩展操作
  • 【每天学习一点点】使用Python的pathlib模块分割文件路径
  • 力扣刷题Day 41:除自身以外数组的乘积(238)
  • n8n - 开放灵活的智能自动化工作流平台
  • vue教程(vuepress版)
  • 【Python】pyinstaller 反编译 exe
  • FPGA图像处理(四)------ 图像裁剪
  • 【C语言】(8)—指针2
  • 65.Three.js案例-使用 MeshNormalMaterial 和 MeshDepthMaterial 创建 3D 图形
  • Screeps Arena基础入门
  • 基于STM32、HAL库的CP2104 USB转UART收发器 驱动程序设计
  • 最新Spring Security实战教程(十四)OAuth2.0精讲 - 四种授权模式与资源服务器搭建
  • 湖南省密码协会成立,麒麟信安担任副会长单位共话密码创新应用之道
  • 【Python Web开发】05-WSGI概述
  • WordPress插件:WPJAM Basic优化设置
  • 数据库(MySQL)基础
  • 市自规局公告收回新校区建设用地,宿迁学院:需变更建设主体
  • 毕赣新作《狂野时代》入围戛纳主竞赛单元,易烊千玺舒淇主演
  • 中华人民共和国和俄罗斯联邦关于进一步加强合作维护国际法权威的联合声明
  • 扶桑谈|素称清廉的石破茂被曝受贿,日本政坛或掀起倒阁浪潮
  • 安徽六安原市长潘东旭,已任省市场监督管理局党组书记、局长
  • 一网红被指涉脱衣殴打霸凌事件,沈阳警方:刑拘1人,处罚5人