目录

前言

一、什么是输出比较

二、什么是PWM

1. PWM的相关参数:

2.PWM的应用场景:

3.占空比

三.输出比较的几种模式:

四,输出比较的极性

五,在输出比较中,TIM常用函数

六,同一个定时器不同通道输出PWM的特点:



前言

简要介绍一下输出比较,这部分主要是代码部分,下一篇通过PWM呼吸灯和PWM控制直流电机来详细介绍TIM的输出比较功能


一、什么是输出比较

输出比较(Output Compare),通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1,置0或翻转的操作,用于输出一定频率和占空比的PWM波形,每个高级定时器和通用定时器都有4个输出比较通道

注意:高级定时器的前三个通道额外拥有死区生成和互补输出的功能

二、什么是PWM

输出比较的表现形式其实就在于PWM,而PWM如果大家学过51大概也知道了,PWM就是一个脉冲宽度调制,它具体表现在具有惯性的系统中,可以通过对一些列脉冲的宽度进行调制来等效的获得所需要的模拟参量,可以用来对电机进行调速

1. PWM的相关参数:

频率:1/T;

占空比:Ton/Ts

分辨率:占空比变化步距

2.PWM的应用场景:

PWM的应用场景必须要是一个惯性系统,以LED为例,LED在熄灭的时候,由于人眼视觉暂留现象,LED不会立马熄灭,而是有一定惯性,过一小段时间才会熄灭,对于电机,电机断电,电机的转动不会立马停止,而是具有一定惯性,过一会儿才停

根据上边曲线图,PWM其实可以等效看成中间这个虚线所表示的模拟量

3.占空比

占空比决定了PWM等效出来的模拟电压的大小,占空比越小,等效的模拟电压就越趋近于低电平,占空比越大,等效的模拟电压就越趋近于高电平

三.输出比较的几种模式:

Timing 冻结模式

Active 相等时置有效电平

Inacktive 相等时置无效电平

Toggle 相等时电平翻转

四,输出比较的极性

TIM_OCPolarity_High   :高极性,就是极性不翻转,REF波形直接输出,或者说有效电平高电平,REF有效时,输出高电平

TIM_OCPolarity_Low:低极性,就是REF电平取反,或者说有效电平为低电平,

五,在输出比较中,TIM常用函数

四个OCinit函数,是用结构体来初始化输出比较单元的

TIM_CtrlPWMOutputs函数,仅高级定时器使用,在使用高级定时器输出PWM时需要调用这个函数,使能主输出,否则PWM将不能正常输出

中间1088到1100是定时器的一些小功能,下边都是运行时更改参数的一些函数

其中,四个TIM_SetCompare函数很重要

TIM_OCStructInit函数,给结构体赋初始值

TIM_SetCompare1这个函数是用来单独更改通道1的CCR值的

六,同一个定时器不同通道输出PWM的特点:

因为不同通道是共用一个计数器的,所以它们的频率必须是相等的;

他们的占空比,由各自的CCR决定,所以占空比是可以各自设定的;

他们的相位,由于计数器更新,所有PWM同时跳变,所以他们的相位是同步的;

例如,如果驱动多个舵机或者直流电机,使用一个定时器不同通道的PWM,就可以了

TIM输出比较——PWM相关推荐

  1. STM32H743+CubeMX-定时器TIM输出PWM(Out Compare模式) + 中断

    文章目录 一.前言 二.CubeMX 2.1.NVIC Settings 2.2.生成代码 三.代码 3.1.tim.c 四.DEBUG 五.细节补充 一.前言 STM32H743+CubeMX-定时 ...

  2. STM32H743+CubeMX-定时器TIM输出PWM(PWM Generation模式)+ 中断

    文章目录 一.前言 二.CubeMX 2.1.Mode and Parameter Settings 2.2.NVIC Settings 2.3.生成代码 三.代码 3.1.tim.c 3.2.mai ...

  3. STM32H743+CubeMX-定时器TIM输出PWM(PWM Generation模式)

    文章目录 一.前言 二.CubeMX 2.1.Clock Configuration 2.2.TIM8 Mode and Configuration 2.3.Parameter Settings Co ...

  4. STM32H743+CubeMX-定时器TIM输出PWM(Output Compare模式)

    文章目录 一.前言 二.CubeMX 2.1.Clock Configuration 2.2.TIM8 Mode and Configuration 2.3.Parameter Settings Co ...

  5. STM32单片机:定时器TIM输出PWM波

    学习32单片机过程中使用的工具:MDK Keil5 + 正点原子精英版(STM32F103ZET6)+ STM32CubeMX + HAL开发 一.PWM的产生原理 关于PWM的产生原理网上有很多教程 ...

  6. 沁恒CH32V307使用记录:使用TIM输出PWM信号

    文章目录 目的 基础说明 使用例程 总结 目的 使用TIM输出PWM信号是单片机中比较常用的一个功能.这篇文章将对CH32V307中相关内容进行说明. 本文使用沁恒官方的开发板 (CH32V307-E ...

  7. stm32常见定时器---TIM定时及PWM输出

    STM32 常见定时器资源: 系统滴答定时器SysTick----提供时钟节拍做时间基准 看门狗定时器WatchDog----防止程序跑飞 实时时钟RTC 基本定时器:TIM7.TIM6 通用定时器: ...

  8. TIM输出比较(PWM)

    目录 一.输出比较 二.PWM简介 三.通用定时器的输出比较模块怎样输出PWM波形 四.输出比较8种模式 模式的介绍 (1)冻结 (2)匹配时电平翻转 (3)CNT与CCR无效,REF强制为无效电平或 ...

  9. STM32H743+CubeMX-定时器TIM发送非对称PWM(使用一个通道)

    文章目录 一.前言 二.CubeMX 2.1.Clock Configuration 2.2.TIM1 Mode and Configuration 2.3.Parameter Settings 2. ...

最新文章

  1. python退出程序-【转】python 退出程序的方式
  2. Angular模块/服务/MVVM
  3. Android控件— — —ImageView
  4. Bailian4141 砝码称重【DP】
  5. Python练习题和答案
  6. 如何查看Dll中包含了哪些函数
  7. 永远跳票的 永远的毁灭公爵
  8. dropbox与public
  9. 基于php+mysql的学员量化考评系统
  10. python自然语言处理第三章:处理原始文本
  11. 磊科路由器怎么设置虚拟服务器,磊科无线路由器静态IP地址分配如何配置
  12. windows如何调出不见的语言栏
  13. laravel5.5 sendCloud 发送邮件(sendCloud Api and naux/sendcloud )
  14. (转载)适合大学生旅游时住的各地旅馆
  15. jquery插件库地址
  16. glut glfw glad SOIL glm freetype等配置
  17. BLESS的安装---一个问题recompile with -fPIC的解决
  18. Cesium入门(五):加载WMTS瓦片地图服务
  19. spotify使用教程_如何在iPhone上的Siri中使用Spotify
  20. python分析北京租房现状,最后的价格分布地图亮了

热门文章

  1. 快速记忆英语单词的妙招
  2. FBX Convert 最新官方下载地址
  3. JavaWeb_2-servlet1
  4. web前端-01:关于css居中的几种方法
  5. JVM总结(面试必备)
  6. win10如何设置关机
  7. Sony索尼XZP(G8142)无GUG开启全局4K显示模式
  8. Django 1.10中文文档-执行查询
  9. “历史是从过去传到将来的回声” 归国留学生以《我们的十年》连续记录深圳历史
  10. 一个基本的狼人杀游戏的C++实现