STM32CubeMX—PWM波输出实验
定时器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波输出实验相关推荐
- STM32F103-TIM3 4路PWM波输出
STM32F1 定时器TIM3 4路PWM波输出 ,部分复用IO口 ,由于TIM3PWM输出引脚与JTAG 引脚冲突 所以要先禁用JTAG .才会有4路PWM输出. main.c /* 使用为正点原子 ...
- STM32 重新理解GPIO配置以及配置PWM波输出
最近做了个SD卡BOOTLOARDER程序.在测试过程中,想到可以利用板子的LED灯进行萤火虫灯的制作,通过BOOTLOARDER将APP文件下载到板子里面查看LED灯的闪烁.可能是因为太过自信,这么 ...
- STM32CubeMX——LED定时闪烁和输出PWM波
简介 通过学习STM32CubeMX软件,掌握配置各个部件的基本方法:了解外部中断,定时器中断,PWM波产生等功能的原理,编写程序代码,实现相应的功能. 程序预期结果: LED初始设置间隔2秒闪烁一次 ...
- STM32f103C8定时器输出PWM波信号
利用stm32高级定时器输出PWM,模拟呼吸灯的效果带刹车功能.由于没有示波器查看输出的pwm波形图,所以本次实验使用普通直流电机模拟的. 本文章为学习笔记,其中有些地方解释的不是那么的好,即本笔记可 ...
- STM32H743+CubeMX-低功耗定时器LPTIM输出PWM波
文章目录 一.前言 二.CubeMX 2.1.Clock Configuration 2.2.LPTIM2 Mode and Configuration 2.3.Parameter Settings ...
- 【定时器/中断/PWM】利用一个定时器实现一路PWM波的输出---点亮LED
------------------------------------------凑热闹的分割线------------------------------------------------ /* ...
- STM32学习日记3---定时器TIM3重映射PWM波呼吸灯实验
文章目录 1. 代码 关于PWM波的输出,我们需要用到定时器的4个通道(通用定时器和高级定时器有,基本定时器没有这4个通道)里面的PWM生成.然后查看数据手册,了解定时器的重映射引脚情况.所以配置时, ...
- STM32F7同一定时器多路输出PWM波通道之间相互影响问题
--------------------------2020/8/12更新-------------------------------- 这次用Cube直接生成PWM控制代码,然后再RT-Threa ...
- STM32之PWM波
说起PWM波,做过智能小车的人肯定都很清楚了,其实他就是一种脉宽调制.在智能小车上,我们一般用PWM波来控制小车的速度,通过控制方波中高低电平的比例,来达到控制小车转速的目的.而32的芯片他提供了专门 ...
最新文章
- 新视界,你好!_只愿与一人十指紧扣_新浪博客
- Day 23:使用 TimelineJS 构建精美的时间轴
- Tomcat企业级应用
- 第0周作业2:博客阅读和思考
- 国外值得关注的网站系列之二-社交化推荐网站GetGlue
- 统信 UOS 适配支持百度飞桨 AI 深度学习平台;阿里回应“马云遭印度法院传唤”;fastjson 1.2.73 发布 | 极客头条
- APP、软件版本号的命名规范与原则
- Windows如何对硬盘进行分区?
- gflags使用详解
- Java 编程问题:三、使用日期和时间
- 可计算卫星轨道的Python包
- 大数据分析数据挖掘工具有哪些
- The DispatcherServlet configuration needs to include a HandlerAdapter that supports this handler
- php进行Markdown解析
- 蛙蛙推荐:蛙蛙牌关键词提取算法
- STM32—sg90编程
- 怎么阻止流氓软件在电脑里自动安装软件?
- CSP考试须知与各种小技巧
- 为什么无法运行谷歌play_什么是Google Play积分,以及如何使用它们?
- 华为设备配置基于IP地址策略路由
热门文章
- 中国大学慕课C语言第六讲作业
- 冲刺阶段 - 项目管理ITTO及数据流向图
- Lightroom 中照片的修改信息储存在哪了?
- 制作抖音超火的罗盘时钟(HTML+CSS+JS)
- Andy's First Dictionary(思维)
- 即便到愚人节,也千万别做的恶作剧!
- 微信小程序 腾讯地图逆地址解析reverseGeocoder之poi_options
- 微信小程序API——微信支付详解(顺便讲一下我遇见的坑)
- 【转载】清华毕业致辞:从容行走于无人知晓的荒原,欣赏并创造别样的风景...
- xml遍历文件夹vector_怎么统计指定文件夹下含有.xml格式的文件数目