学习笔记:
脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。















实践1-pwm-led闪烁
要求产生周期为200ms,占空比为50%的PWM信号来控制led灯。
1.cubemax配置



由原理图可知,led引脚复用为tim5



周期为200ms,占空比为50%,Tim5挂在APB1总线上,CLK = 84MHZ;假设PSC =8399,根据公式ARR = 1999,CRR = 1000.


生成代码
main.c 添加
/* USER CODE BEGIN 2 */
HAL_TIM_PWM_Start(&htim5,TIM_CHANNEL_1); //启动定时器5通道1输出周期为200ms,占空比50%得PWM信号。
/* USER CODE END 2 */
将代码下载到开发板中,实验结果led每隔100ms闪烁。
实践2-PWM-呼吸灯
周期改为20ms,因为大于50hz使人眼不会察觉出闪烁现象。
占空比从0%-100%反复,从而实现呼吸灯。
根据公式可得,PSC=8399,ARR=199。
占空比从0%开始,所以CRR 的初值为 0,根据公式计算CCR = 200时,占空比为100%。


生成代码
mian.c 修改
/* USER CODE BEGIN 2 */
uint16_t i =0; //CCR
uint16_t step = 10; //步进值,使呼吸效果明显
HAL_TIM_PWM_Start(&htim5,TIM_CHANNEL_1);//启动定时器5的通道1产生PWM
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
//知识点:在for/while等循环内部定义的变量属于局部变量,当for循环结束以后,局部变量就会被销毁
for(i=0;i<=200;i = i+step)
{
__HAL_TIM_SET_COMPARE(&htim5,TIM_CHANNEL_1,i);
HAL_Delay(200);
}
/* USER CODE BEGIN 3 */
}
实验现象,出现呼吸灯效果并反复。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
led
+关注
关注
244文章
24780浏览量
693446 -
led灯
+关注
关注
22文章
1607浏览量
112163 -
PWM
+关注
关注
116文章
5904浏览量
227111 -
STM32
+关注
关注
2313文章
11206浏览量
375256 -
微处理器
+关注
关注
11文章
2440浏览量
86276 -
功率控制器
+关注
关注
0文章
34浏览量
12840 -
脉冲宽度调制
+关注
关注
7文章
84浏览量
14270 -
PWM波
+关注
关注
0文章
101浏览量
17821
发布评论请先 登录
相关推荐
热点推荐
STM32单片机学习笔记(6):PWM波形产生
利用CubMX生成基于32单片机的HAl库工程,然后编写程序在proteus上仿真验证。本项目最适合没有开发板的同学学习,零成本利用仿真软件率先入门STM32单片机。这是第六部分针对STM32单片机内置TIM模块的
发表于 07-19 15:34
•3468次阅读
STM32各模块学习笔记
GPIO...............................................15 STM32笔记之六 运行的必要硬件库 ........................................20 ST
发表于 11-30 03:32
•3395次阅读
STM32 CubeMX学习:5. 其他PWM设备
STM32 CubeMX学习:5. 其他PWM设备 系列文章目录前期的准备点亮 LED闪烁 LED定时器闪烁LEDPWM控制LED亮度常见的PWM
发表于 11-23 17:51
•1次下载
使用STM32输出PWM波形
本文目的是通过在STM32平台上采用定时器的方法输出PWM波形,进而熟悉和掌握PWM的原理和产生。目录(一)PWM简介1.关于
发表于 11-30 14:21
•42次下载
STM32PWM与示波器实验
、DAC简介2、DAC功能框图剖析3、正弦波表制作脚本4、引入工程文件5、使用示波器检验将一段数字音频歌曲数据转换为模拟音频波形输出参考资料STM32输出PWM波形1、
发表于 12-02 13:21
•24次下载
STM32学习笔记:PWM互补输出(无刷直流电机驱动控制)
最近科研训练在做无刷电机的控制。
需要达成的目的为CH1通道输出PWM波,CH1N通道输出高电平等。
算法采用六步换向算法,开环系统。
主控芯片选用
发表于 03-08 15:20
•23次下载
STM32无法正常输出PWM信号的原因及解决方法
无法正常输出PWM信号的问题。本文将探讨STM32无法正常输出PWM信号的原因,并提供解决方法。 一、引脚配置错误
Robomaster-stm32-PWM学习笔记(stm32控制pwm输出)
评论