定时器PWM波实验

  • 实验说明

芯片:STM32F103RCT6

实验内容:使用定时器2的通道1输出PWM波控制LED灯的亮度。

  • 实验操作

  • 1、基础配置

1)sys中,选好调试方式,例如jtag-4pin。

2)RCC时钟,晶振选择。

3)时钟树配置。

4)中断分组配置。

以上步骤可以参考之前的实验。

2、外设配置—PWM波配置

本次实验使用的是TIM2的通道1来输出PWM波。

1) 如下图打开TIM2功能配置视图。

2)选择时钟,并且选择通道1的PWM模式。

注意载芯片示意图上 会看到下图  PA0 就是TIM2 的通道1 PWM波输出口。

3)配置PWM波的参数

上图中需要理解两个点,

PWM 的频率 :

PWM模式和极性:

PWM模式1,在向上计数时,一旦TIMx_CNT < TIMx_CCR1(就是上图中的6,计数比较值)。时通道1为有效电平,否则为无效电平;在向下计数时,一旦TIMx_CNT>TIMx_CCR1时通道1为无效电平(OC1REF=0),否则为有效电平(OC1REF=1)。

PWM模式2- 在向上计数时,一旦TIMx_CNT < TIMx_CCR1时通道1为无效电平,否则为有效电平;在向下计数时,一旦TIMx_CNT > TIMx_CCR1时通道1为有效电平,否则为无效电平

输出比较极性的指的是你在比较匹配之后输出口输出的极性。 这个函数就是让你设置有效极性,也就是设置比较输出的有效电平。你可以设置为高电平有效或者低电平有效。如果设置为高电平有效,那么当定时器比较匹配之后,输出口输出高电平,否则就反一下。

这里我自己的理解是,如果是PWM模式1,且向上计数,如果极性设置为低,那么 TIMx_CNT < TIMx_CCR1 时,输出低电平,更简单就是占空比为1 – TIMx_CCR1/(ARR+1). 如果极性为高,占空比就是TIMx_CCR1/(ARR+1)。

4)、生成代码

由于这里不用中断,所以不用配置中断优先级。所以写好工程的名字和路径后,直接生成代码即可。

5)在工程中开启PWM

在完成以上设置之后,我们需要使能 TIM2 并且使能 TIM2_CH1 输出。在 HAL 库中,函数 HAL_TIM_PWM_Start 可以用来实现这两个功能,函数声明如下:

HAL_StatusTypeDef HAL_TIM_PWM_Start(TIM_HandleTypeDef *htim, uint32_t Channel);

该函数第二个入口参数 Channel 是用来设置要使能的通道号。

6)、修改占空比

推荐使用寄存器的方式

TIMx->CCRx = NUM;   (x为数字。 NUM 为一个数字 范围0 - ARR)

7)、测试

下载程序,然后可以使用万用表测试PA0口的电压值,为0.54~0.55V

( 测试实验中计数比较值设置的是 150)

(PWM模式1,极性为高 所以占空比为 150/900 * 3.3 为0.55V。

STM32CubeMX—PWM波输出实验相关推荐

  1. STM32F103-TIM3 4路PWM波输出

    STM32F1 定时器TIM3 4路PWM波输出 ,部分复用IO口 ,由于TIM3PWM输出引脚与JTAG 引脚冲突 所以要先禁用JTAG .才会有4路PWM输出. main.c /* 使用为正点原子 ...

  2. STM32 重新理解GPIO配置以及配置PWM波输出

    最近做了个SD卡BOOTLOARDER程序.在测试过程中,想到可以利用板子的LED灯进行萤火虫灯的制作,通过BOOTLOARDER将APP文件下载到板子里面查看LED灯的闪烁.可能是因为太过自信,这么 ...

  3. STM32CubeMX——LED定时闪烁和输出PWM波

    简介 通过学习STM32CubeMX软件,掌握配置各个部件的基本方法:了解外部中断,定时器中断,PWM波产生等功能的原理,编写程序代码,实现相应的功能. 程序预期结果: LED初始设置间隔2秒闪烁一次 ...

  4. STM32f103C8定时器输出PWM波信号

    利用stm32高级定时器输出PWM,模拟呼吸灯的效果带刹车功能.由于没有示波器查看输出的pwm波形图,所以本次实验使用普通直流电机模拟的. 本文章为学习笔记,其中有些地方解释的不是那么的好,即本笔记可 ...

  5. STM32H743+CubeMX-低功耗定时器LPTIM输出PWM波

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

  6. 【定时器/中断/PWM】利用一个定时器实现一路PWM波的输出---点亮LED

    ------------------------------------------凑热闹的分割线------------------------------------------------ /* ...

  7. STM32学习日记3---定时器TIM3重映射PWM波呼吸灯实验

    文章目录 1. 代码 关于PWM波的输出,我们需要用到定时器的4个通道(通用定时器和高级定时器有,基本定时器没有这4个通道)里面的PWM生成.然后查看数据手册,了解定时器的重映射引脚情况.所以配置时, ...

  8. STM32F7同一定时器多路输出PWM波通道之间相互影响问题

    --------------------------2020/8/12更新-------------------------------- 这次用Cube直接生成PWM控制代码,然后再RT-Threa ...

  9. STM32之PWM波

    说起PWM波,做过智能小车的人肯定都很清楚了,其实他就是一种脉宽调制.在智能小车上,我们一般用PWM波来控制小车的速度,通过控制方波中高低电平的比例,来达到控制小车转速的目的.而32的芯片他提供了专门 ...

最新文章

  1. 新视界,你好!_只愿与一人十指紧扣_新浪博客
  2. Day 23:使用 TimelineJS 构建精美的时间轴
  3. Tomcat企业级应用
  4. 第0周作业2:博客阅读和思考
  5. 国外值得关注的网站系列之二-社交化推荐网站GetGlue
  6. 统信 UOS 适配支持百度飞桨 AI 深度学习平台;阿里回应“马云遭印度法院传唤”;fastjson 1.2.73 发布 | 极客头条
  7. APP、软件版本号的命名规范与原则
  8. Windows如何对硬盘进行分区?
  9. gflags使用详解
  10. Java 编程问题:三、使用日期和时间
  11. 可计算卫星轨道的Python包
  12. 大数据分析数据挖掘工具有哪些
  13. The DispatcherServlet configuration needs to include a HandlerAdapter that supports this handler
  14. php进行Markdown解析
  15. 蛙蛙推荐:蛙蛙牌关键词提取算法
  16. STM32—sg90编程
  17. 怎么阻止流氓软件在电脑里自动安装软件?
  18. CSP考试须知与各种小技巧
  19. 为什么无法运行谷歌play_什么是Google Play积分,以及如何使用它们?
  20. 华为设备配置基于IP地址策略路由

热门文章

  1. 中国大学慕课C语言第六讲作业
  2. 冲刺阶段 - 项目管理ITTO及数据流向图
  3. Lightroom 中照片的修改信息储存在哪了?
  4. 制作抖音超火的罗盘时钟(HTML+CSS+JS)
  5. Andy's First Dictionary(思维)
  6. 即便到愚人节,也千万别做的恶作剧!
  7. 微信小程序 腾讯地图逆地址解析reverseGeocoder之poi_options
  8. 微信小程序API——微信支付详解(顺便讲一下我遇见的坑)
  9. 【转载】清华毕业致辞:从容行走于无人知晓的荒原,欣赏并创造别样的风景...
  10. xml遍历文件夹vector_怎么统计指定文件夹下含有.xml格式的文件数目