STM32 PWM的理解
脉冲宽度调制(PWM),是英文“Pulse Width Modulation” 的缩写,简称脉宽调制。
脉冲:方波,频率(freq)
宽度:高电平的宽度,决定了占空比(duty)
占空比:就是我们高电平占整个周期的百分比
占空比25%
占空比50%
占空比变化动图:
占空比控制舵机角度:
PWM1和PWM2模式
1.定义
PWM 模式 1——只要 TIMx_CNT < TIMx_CCR1,通道 1 便为有效状态,否则为无效状态。
PWM 模式 2——只要 TIMx_CNT < TIMx_CCR1,通道 1 便为无效状态,否则为有效状态。
TIMx_CNT由TIM_TimeBaseStructure.TIM_Period决定,也就是计数值,分频系数一定的情况下,它决定我们的PWM的输出频率是多少。
TIMx_CCR1由TIM_SetComparex(x:1、2、3、4)函数决定,也就是比较值。
有效状态由TIM_OCInitStructure.TIM_OCPolarity决定,假如我们设置高电平为有效电平,反之低电平就为无效电平。
比较值决定我们的PWM的占空比,当我们计数值是0~99,因为是高电平为有效电平,当我们计数没有到50的时候,我们都是高电平,大于50的时候,就是无效电平,即低电平。
其中我们比较值可以直接在TIM_OCInitStructure.TIM_Pulse=后面直接填上,也可以掉用一个专门的函数TIM_SetCompare1(TIMx,比较值);它由2个参数,第一个参数是哪个定时器,第二个参数是我们的比较值大小。且我们也一定要注意这个函数是哪个通道使用。
注:
通道1:TIM_SetCompare1
通道2:TIM_SetCompare2
通道3:TIM_SetCompare3
通道4:TIM_SetCompare4
定时器多通道的理解如图
问题:假如我们的LED1和LED2同时共用TIM1,分别为通道1、通道2,那么CH1和CH2输出频率可以不一样吗?占空比可以不一样吗?
答:输出频率肯定是一样的,因为是同一个定时器,占空比由比较值决定,可以不一样。
注意:TIM1是高级定时器,要额外添加语句TIM_CtrlPWMOutputs(TIM1,ENABLE)。
STM32 PWM的理解相关推荐
- STM32 PWM波驱动模拟舵机(库函数版)
数字舵机 vs 模拟舵机 "数字舵机区别于传统的模拟舵机,模拟舵机需要给它不停的发送PWM信号,才能让它保持在规定的位置或者让它按照某个速度转动,数字舵机则只需要发送一次PWM信号就能保持在 ...
- STM32 PWM输出实验总结
本实验是基于STM32 407的板子,使用的是通用定时器TIM14,相关的博文其实有很多,本文主要是基于他们结合个人学习理解总结整理,并非完全原创,只希望能帮助更好理解PWM输出的过程尤其是TIM_A ...
- STM32 PWM输出实验
定时器用来产生PWM输出: STM32 的定时器除了 TIM6 和 7.其他的定时器都可以用来产生 PWM 输出.其中高级定时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出.而通 ...
- stm32 PWM互补输出
stm32高级定时器例子-stm32 PWM互补输出 定时器初始化结构体 TIM_TimeBaseInitTypeDef 时基结构体,用于定时器基础参数设置,与TIM_TimeBaseInit函数配合 ...
- STM32 PWM控制舵机
目录 舵机简介 舵机工作原理 什么是PWM 硬件连线 代码 实现结果 总结 舵机简介 舵机是指在自动驾驶仪中操纵飞机舵面(操纵面)转动的一种执行部件.分有:①电动舵机,由电动机.传动部件和离合器组成. ...
- STM32 PWM周期与频率的计算
文章目录 STM32 PWM周期与频率的计算 频率的计算 占空比的计算 笔记仅供自学,用来回看复习,不一定适合你,如有错误请指出. STM32 PWM周期与频率的计算 TIM_TimeBaseInit ...
- STM32 PWM控制舵机——原理、接线、源程序
STM32--PWM 控制舵机 通用定时输出PWM PWM的工作原理 PWM的模式 TIM_OCMode_PWM1 (边沿对齐模式) TIM_OCMode_PWM2(中央对齐模式) 占空比 舵机 实物 ...
- WS2812灯珠(三)-- STM32 PWM+DMA方式驱动
WS2812灯珠(三)-- STM32 PWM+DMA方式驱动 文章目录 WS2812灯珠(三)-- STM32 PWM+DMA方式驱动 一.理论 二.代码实践 一.理论 PWM输出就是对外输出脉宽( ...
- STM32 PWM输出之TIM_SetCompare函数的应用
STM32 PWM输出之TIM_SetCompare函数的应用 想必输出PWM大家都应该会了吧,但是如何更加灵活方便的使用PWM,可能大家还存在着问题,今天我给大家介绍一下TIM_SetCompare ...
最新文章
- 深度学习——自动编码器,对称网络结构
- 动手使用ABAP Channel开发一些小工具,提升日常工作效率
- 一篇文章让你真正了解Java
- .NET开发框架(八)-服务器集群之网络负载平衡(视频)
- node 安装 webpack
- 【转载保存】Jsoup使用
- Docker安装Zookeeper并进行操作
- C#反序列化XML异常:在 XML文档(0, 0)中有一个错误“缺少根元素”
- ubantu下面U盘无法识别
- 华为9月将带来鸿蒙系统2.0;张勇任阿里巴巴董事长后发布首封致股东信;iOS 14首个公测版发布​| 极客头条
- C# ToString() 参数大全
- python实时监控_python实时监控cpu小工具
- STM32F429i-DISCO FreeRTOS keil STM32CubeMX
- Atitit 短信 技术的概论 短信备份 attilax总结 1.1. 短信的历史	1 1.2. 短信长度 160字的长度限制灵感来自对明信片的研究。明信片。大多数明信片上的字符不超过160个
- trajan算法求lca 超级详细配图讲解
- 一文讲透高速缓存原理
- oracle中文chr,Oracle中chr(10) chr(9)和chr(13)用法和意义
- 〖Python接口自动化测试实战篇⑦〗- 接口抓包工具 Fiddler 的使用
- iP138查询网,ip数据库
- [Python] 你的BMI是多少呢?