打印
[应用相关]

定时器的PWM设置详解

[复制链接]
719|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一、内容讲解

打开之前建立的项目,到配置界面


点击TIM1,进入如下界面

下拉到PWM设置部分

接下来就具体讲一讲这几个参数的意义

以下例子我以500Hz,占空比为30%的PWM波为基础进行操作


使用特权

评论回复
沙发
heimaojingzhang|  楼主 | 2021-7-1 17:13 | 只看该作者
1、Mode(PWM的模式)

该选项中有PWM Mode 1和PWM Mode 2两个选项
PWM Mode 1 :正常理解的PWM波

结果为:


PWM Mode 2 :与PWM1模式互补的波(PWM模式1为高电平时PWM2为低电平,反之亦然)

结果为:


使用特权

评论回复
板凳
heimaojingzhang|  楼主 | 2021-7-1 17:13 | 只看该作者
2、Pulse(脉冲宽度)
Pulse16位二进制数,可以输入范围为0-2^16等于 0-65535的10进制数

改变Pulse就是改变PWM的初始脉冲宽度

                占空比=(Pulse/自动重载值)*100%
                自动重载值为定时器的  Counter Period值


此时我们将Pulse改为900,则占空比为900/1000=90%

结果为:

由图可见PWM的高电平部分时间已经变为周期的90%


使用特权

评论回复
地板
heimaojingzhang|  楼主 | 2021-7-1 17:14 | 只看该作者
3、FastMode(快速模式【ENABLE/DISABLE】)
本着负责任的态度,我在这里承认我是个菜狗,FastMode我找了很多相关资料都没有找到对应的解释,大概就是使用IIC总线这样子,具体的我也不知道是什么情况,等我研究清楚这个问题会在之后为大家解释!!!

4、CH Polarity(频道有效电平【High/Low】)
顾名思义,这个参数就是控制有效电平的,因为有一些芯片的处理需要的是高电平有效,一些是需要低电平有效,为了在提高STM32适应性的同时不把我们程序猿的脑子搞乱,就有了这个设置,以下是实验效果

当CH Polarity为High时,结果为:

当CH Polarity为Low时,结果为:

由上图所知当占空比为30%时

当CH Polarity为High时,高电平占30%
当CH Polarity为Low时,低电平占30%


使用特权

评论回复
5
heimaojingzhang|  楼主 | 2021-7-1 17:15 | 只看该作者
5、CH Idle State(空闲状态【Set/Reset】)
同样顾名思义,CH Idle State为该频道PWM不输出时的状态

Set为高电平
Reset为低电平


我们将main.c的PWM启动注释掉之后进行观测

当CH Idle State为Set时,结果为:

由图可知,PWM关闭状态下为高电平

当CH Idle State为Reset时,结果为:

由图可知,PWM关闭状态下为低电平


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

77

主题

4042

帖子

4

粉丝