当前位置: 首页 > 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;

http://www.dtcms.com/a/179490.html

相关文章:

  • 软件测试学习笔记
  • 操作系统 : 线程概念与控制
  • 芯片笔记 - 手册参数注释
  • 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)基础
  • 【AI提示词】费曼学习法导师
  • 【时时三省】(C语言基础)怎样定义和引用二维数组
  • 开平机:卷材高效成板的核心装备
  • 无需标记点,精准面部捕捉!无线面捕头盔赋予自由表演空间
  • Java大师成长计划之第15天:Java线程基础
  • 3.5/Q1,GBD数据库最新文章解读
  • ubuntu24.04安装anaconda
  • Spring Boot + Vue 实现在线视频教育平台
  • Spring Boot 3 + Undertow 服务器优化配置
  • modbus 帧信息格式