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

stm32使用定时器PWM

1、定时器TIM
在这里插入图片描述
在这里插入图片描述
PSC-Prescaler-预分频器
CNT-Counter-计数器
ARR-Auto Reload Register-自动重装寄存器
RCR-Repetition Counter Register-重复计数器
1、时钟来源:晶振提供频率,时钟树这些才提供时钟
在这里插入图片描述
在这里插入图片描述
分频系数
在这里插入图片描述
计数
在这里插入图片描述
在这里插入图片描述
3、实例
在这里插入图片描述
上面展示了假设使用外部石英晶振提供32.768K,经过32767+1分频后为1Hz,自动重装ARR设置为59+1,没60秒重装一次,如果设置重复计数器为0+1,也就是每1个60秒出现一次事件,如果RCR设置为4+1,也就是每5个60秒出现一次事件
4、定时器输出比较
在这里插入图片描述

举例:想要通过定时器实现PWM
在这里插入图片描述
设置比较寄存器CCR的值为4,也就是CNT小于CCR时是高电平,大于CCR时是低电平
在这里插入图片描述
实际就是CCR决定了占空比
修改CCR的值改变占空比
在这里插入图片描述

在这里插入图片描述

1、配置定时器通道功能为PWM

在这里插入图片描述
在这里插入图片描述
PWM的占空比计算主要看下面这个图还有后面的占空比计算公式
在这里插入图片描述
pulse那里填的0就是这里的CCRx,代表占空比多少,如果填了100,那就是100/1000=0.1的占空比,这里主要看ARR的值,占空比也就是CCRx / ARR
后面修改占空比修改的就是CCRx的值

在这里插入图片描述

2、HAL库函数说明

  1. 配置定时器:HAL_TIM_PWM_ConfigChannel
HAL_StatusTypeDef HAL_TIM_PWM_ConfigChannel(TIM_HandleTypeDef *htim,
const TIM_OC_InitTypeDef *sConfig,
uint32_t Channel);
功能:配置某个定时器占空时间及输出通道
参数:
htim:指定要配置的定时器对象的指针
Channel:哪个通道,取值有TIM_CHANNEL_1到TIM_CHANNEL_4,TIM_CHANNEL_ALL
sConfig:要进行配置的具体参数的结构体:
typedef struct
{uint32_t OCMode; /* 模式,通常设置为 TIM_OCMODE_PWM1 即计数值小于CRR值时输出有效电平*/TIM_OCMODE_TIMING         记数TIM_OCMODE_ACTIVE         当CNT == CRR时 输出有效电平TIM_OCMODE_INACTIVE       当CNT == CRR时 输出无效电压TIM_OCMODE_TOGGLE         当CNT == CRR时输出电压翻转一次TIM_OCMODE_PWM1           CNT < CRR时输出有效电平(此为PWM常用模式)TIM_OCMODE_PWM2           CNT > CRR时输出有效电平TIM_OCMODE_FORCED_ACTIVE  强制输出无效电平TIM_OCMODE_FORCED_INACTIVE 强制输出有效电平uint32_t Pulse; /* 有效电平的宽度,单位为时钟个数,此为占空时间 */uint32_t OCPolarity; 
http://www.xdnf.cn/news/14450.html

相关文章:

  • Linux编程:4、进程通信-管道(匿名管道)
  • 二手商城系统+SpringBoot + Vue (前后端分离)
  • 通用embedding模型和通用reranker模型,观测调研
  • 嵌入式学习笔记C语言阶段--17共用体和枚举
  • LG P4278 带插入区间K小值 Solution
  • SCADA|KingSCADA通过组合框选择修改变量的值
  • JS进阶 Day04
  • 2GT 环形闭口闭环同步带一种具有特定齿形和结构的传动带
  • MotleyCrew ——抛弃dify、coze,手动搭建多agent工作流
  • Cangejie Magic智谱AI文生图API实战详解
  • 洛谷 排队接水 贪心
  • 2025CVPR最佳论文系列
  • AI 产品设计头脑风暴
  • Leetcode 3583. Count Special Triplets
  • 【python深度学习】Day 54 Inception网络及其思考
  • 深入理解IOC与DI
  • PID 控制算法 | 参数整定 | 方法 / 仿真 / 应用案例
  • 图片压缩工具 | 按指定高度垂直切割图片
  • 归一化:深度学习的隐藏加速器,解密数据标准化的魔力
  • Spring 事务传播行为全景分析表
  • Java设计模式之创建型模式( 工厂方法模式)介绍与说明
  • 智能跃迁:企业大模型落地方法论与路径最佳实践
  • 逆向知识点
  • 5.5.2_2并查集的进一步优化
  • 运算符与优先级
  • Docker环境下的EFK日志分析实践:从Filebeat采集到Kibana可视化的完整部署指南
  • 【LeetCode 207】课程表(有向无环图 DAG、拓扑排序)
  • 在C++中进程间通信(IPC)
  • 数据库学习(七)——MySQL执行引擎
  • Google机器学习实践指南(非线性特征工程解析)