[STM32U5] 【NUCLEO-U5A5ZJ-Q测评】3.PWM实现呼吸灯

[复制链接]
1591|5
 楼主| Tristan_C 发表于 2023-11-22 00:31 | 显示全部楼层 |阅读模式
#申请原创# PWM实现呼吸灯
前面我们实现了LED、按钮和串口打印,这次我们将LED的简单GPIO驱动改成PWM方式的呼吸灯。
灯的选择上,我们选择PC7驱动的GREEN绿色LED
7c95df98ddd7694e5d12c3dc675c79de
首先是将其改成TIM3的CH2
099c866e182b948e3078905dfc449a1b
接下来打开TIM3配置窗口,并使能CH2通道输出
03a05de24db8ce73b04834f8677fed6d
并作如下配置
5a5863a874e5b53ee9f4ef9071852a2e
这里我们还可以将主频提高一些
4cdc11add09c1da5425ba4e279f46559
生成代码,之后会有三个定义错误,分别是PRESCALER_VALUE、PERIOD_VALUE、PULSE_VALUE,这三个分别是分频器的值,PWM周期计数值以及占空比计数值
9de9ab97b7b6586664e9518ab56536ba
我们就将其定义,这里还有一个PWM_FREQ_Hz,就是使用的PWM频率了
04268b3e8ef5f1081bb028270ceba3eb
接下来就在main函数的while循环中使用如下代码
4148a26e1466da44b4c44f77d3e6e0eb
实现每75mS更新一下占空比,一共是20个等分的占空比循环。这样就可以实现一个简单的呼吸灯效果了。
不过mxcube生成的代码有下面两处需要将其注释
96f36e0d1cfe160e4e16f15b703f18f5
06ae8cfb0cfb5a07fae264ed0a29330f
编译下载执行
34131f3da2bd1153d9d03304324046c7
如视频效果。


代码如附件

tool_demo.rar

7.79 MB, 下载次数: 5

lajfda003 发表于 2023-12-11 18:54 | 显示全部楼层
PWM做一个呼吸灯,确实不错,不过使用这个芯片做,有点浪费资源了。
sasdfji001 发表于 2023-12-11 18:56 | 显示全部楼层
楼主有没有测试AD的功能?
kjkujkj22 发表于 2023-12-11 19:05 | 显示全部楼层
感谢楼主的分享,不错的试验。
 楼主| Tristan_C 发表于 2023-12-11 21:04 | 显示全部楼层
sasdfji001 发表于 2023-12-11 18:56
楼主有没有测试AD的功能?

ADC暂时没有去碰了欸……
遇到问题了?
 楼主| Tristan_C 发表于 2023-12-11 21:05 | 显示全部楼层
本帖最后由 Tristan_C 于 2023-12-12 12:14 编辑
lajfda003 发表于 2023-12-11 18:54
PWM做一个呼吸灯,确实不错,不过使用这个芯片做,有点浪费资源了。

哈哈,你说得对,就看怎么理解浪费
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

117

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部