当前位置: 首页 > 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.xdnf.cn/news/349867.html

相关文章:

  • AI优化高频PCB信号完整性:猎板PCB的技术突破与应用实践
  • 多环串级PID
  • 主场景 工具栏 植物卡牌的渲染
  • 从“看不见”到“一目了然”:网络流量分析与监控大屏
  • 手撕基于AMQP协议的简易消息队列-6(服务端模块的编写)
  • 云计算运维
  • vue实现半圆转盘旋转(门户网页上)
  • 企业级UI测试的“双保险”:TestComplete的智能对象识别与详细报告功能
  • 二叉搜索树的插入操作(递归遍历)
  • 力扣-142.环形链表II
  • 引文索引数据库在科研中的应用
  • 问题 | 低空经济未来发展前景机遇及挑战
  • BFS算法的学习
  • 腾讯云:数字世界的“量子熔炉”与硅基文明引擎​
  • 数据结构-堆排序
  • Houdini 深圳实操交流会!即将开幕
  • 代码随想录第39天:单调栈
  • VBA经典应用69例应用8:利用VBA,完成自动运行任务的预设
  • xiaopiu原型设计工具笔记
  • Windows 环境变量完全指南:系统变量、用户变量与 PATH 详解
  • 在不同环境下部署和运行基于后量子密码的轻量级通信协议的详细指南
  • pm2如何执行脚本批量启动多个服务
  • 认识守卫-以及简单的示例和装饰器
  • Java网络编程:理解URI、URL和URN
  • python线上学习进度报告
  • Android13 权限管理机制整理
  • 308.旅行终点站
  • 正点原子IMX6U开发板移植Qt时出现乱码
  • 什么是死信队列?死信队列是如何导致的?
  • TLS 1.3:一把打不开旧锁的新钥匙,为何难成主流?