news 2026/5/19 5:41:15

[STM32U3] 【STM32U385RG 测评】+ PWM调节控制LED

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[STM32U3] 【STM32U385RG 测评】+ PWM调节控制LED
在厂家提供的例程中,提供了多个PWM通道输出固定占空比的示例,但缺少改变占空比的介绍。为此,作了一下自动改变占空比和按键改变占空比的尝试。
这采用的是以PWM通道1输出脉冲来控制外挂LED模块的亮度,通道1的输出引脚为PA0,其位置如图1所示。

图1 所用接口及引脚
实现自动改变LED模块亮度的主程序为:
复制
  1. intmain(void)
  2. {
  3. HAL_Init();
  4. SystemClock_Config();
  5. BSP_LED_Init(LD2);
  6. MX_GPIO_Init();
  7. PULSE1_VALUEP=2;
  8. MX_TIM2_Init();
  9. MX_ICACHE_Init();
  10. KEY_Config();
  11. if(HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1) != HAL_OK)
  12. {
  13. Error_Handler();
  14. }
  15. i=2;
  16. while(1)
  17. {
  18. MX_TIM2_Init();
  19. PULSE1_VALUEP=(41* i /100);
  20. i=(i+2)%100;
  21. HAL_Delay(100);
  22. }
  23. }
经程序的编译和下载,其效果如图2和图3所示。

图2 亮度较弱状态

图3 亮度较强状态
在开发板上,为用户配置了一个蓝色的测试按键,见图4所示。利用它可改变占空比的值。

图4 用户键及引脚连接
实现按键改变占空比来调节LED模块亮度的主程序为:
复制
  1. intmain(void)
  2. {
  3. HAL_Init();
  4. SystemClock_Config();
  5. BSP_LED_Init(LD2);
  6. MX_GPIO_Init();
  7. PULSE1_VALUEP=2;
  8. MX_TIM2_Init();
  9. MX_ICACHE_Init();
  10. KEY_Config();
  11. if(HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1) != HAL_OK)
  12. {
  13. Error_Handler();
  14. }
  15. i=2;
  16. while(1)
  17. {
  18. if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13)==GPIO_PIN_SET)
  19. {
  20. PULSE1_VALUEP=(41* i /100);
  21. i=(i+2)%100;
  22. MX_TIM2_Init();
  23. HAL_Delay(100);
  24. }
  25. }
  26. }
经程序的编译和下载,在程序运行后,每按下一次用户键,就会增加一定的亮度,直至最亮后再重新由弱变强。
在添加OLED屏并使用A/D来提供占空比的情况下,其测试效果如图5至图7所示。


图5 低亮度

图6 中等亮度
图7 高亮度


演示效果:







---------------------
作者:jinglixixi
链接:https://bbs.21ic.com/icview-3478299-1-1.html?_dsign=d1a69da4
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/19 5:36:05

销售跟进转任务,4个实操标准帮你高效交接无遗漏

不少销售朋友反馈,调岗、离职或带新人交接跟进任务时,常出现信息杂乱、关键内容遗漏的问题,要么仅提供大量聊天记录和录音,接手人难以快速找到重点,要么遗漏客户特殊要求、过往承诺,最终导致丢单、承担责任…

作者头像 李华
网站建设 2026/5/19 5:28:32

黑盒测试实战:基于VectorCAST/C++的库接口测试方法与工程实践

1. 项目概述:当代码成为“盲盒”,我们如何测试?在嵌入式、汽车电子乃至任何涉及大量第三方或历史遗留代码的领域,我们常常会面对一个棘手的情况:手头只有编译好的库文件(.lib, .a, .dll, .so)和…

作者头像 李华
网站建设 2026/5/19 5:27:49

终极免费macOS应用清理工具:让你的Mac告别数字垃圾

终极免费macOS应用清理工具:让你的Mac告别数字垃圾 【免费下载链接】Pearcleaner A free, source-available and fair-code licensed mac app cleaner 项目地址: https://gitcode.com/gh_mirrors/pe/Pearcleaner 你是否曾经遇到过这样的困扰:明明…

作者头像 李华
网站建设 2026/5/19 5:27:28

Avalonia 11降级到10?我在麒麟V10上打包deb踩过的坑和最终解决方案

Avalonia 11降级到10:国产化平台打包实战与深度避坑指南 在国产操作系统替代浪潮中,银河麒麟V10作为主流国产Linux发行版之一,正吸引越来越多的.NET开发者将桌面应用迁移至此平台。Avalonia作为跨平台UI框架,本应是理想选择&#…

作者头像 李华
网站建设 2026/5/19 5:25:06

liunx查看服务器日志的常用命令

# 查看实时日志 # -f (follow):实时追加显示文件尾部内容 tail -f logs/application.log#查看application.log日志200行 tail -200f logs/application.log#如果需要查看之前的日志,推荐使用 less less logs/application.log #查看压缩包日志 ‘2024-07…

作者头像 李华
网站建设 2026/5/19 5:23:05

番茄小说下载器终极指南:5种格式+Web界面打造个人数字图书馆

番茄小说下载器终极指南:5种格式Web界面打造个人数字图书馆 【免费下载链接】fanqienovel-downloader 下载番茄小说 项目地址: https://gitcode.com/gh_mirrors/fa/fanqienovel-downloader 你是否曾在深夜追更时,突然发现心爱的小说被平台下架&am…

作者头像 李华