news 2026/3/13 3:38:22

[STM32C0] 【STM32C092RC 测评】+NUCLEO-C092RC开发板pwm+timer+控制呼吸

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[STM32C0] 【STM32C092RC 测评】+NUCLEO-C092RC开发板pwm+timer+控制呼吸

采用工具进行相关的配置,选择好对应的封装?


这里开启了tim1,tim2对应的通道,同时进行相关参数的配置
根据时钟树的显示,这里面不再对时钟的频率进行修改,采用默认方式。


那么下面看看对应的关键配置,因为tim1是高级计时器,所以参数比较多,但是这里用到的比较有限


同理,tim2是一个普通计时器,只要简单正确配置就可以了
那么看看关键代码:

复制

  1. /* USER CODE BEGIN 2 */
  2. // Start the PWM channels for both LEDs
  3. // Note: Use the correct Timer handle and Channel defined by your configuration
  4. if (HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_2) != HAL_OK) // For LED on PC9
  5. {
  6. Error_Handler();
  7. }
  8. if (HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1) != HAL_OK) // For LED on PA5
  9. {
  10. Error_Handler();
  11. }
  12. // --- Variables for breathing effect ---
  13. // Set PWM_MAX_VALUE to your timer's ARR (Auto-Reload Register) value
  14. // Assuming ARR was set to 999 for both timers in CubeMX for a 0-1000 range
  15. uint32_t pwm_max_value = 999;
  16. uint32_t brightness = 0;
  17. int8_t step = 5; // How much to change brightness each step
  18. uint8_t delay_ms = 10; // Delay between steps, controls breathing speed
  19. /* USER CODE END 2 */
  20. /* Infinite loop */
  21. /* USER CODE BEGIN WHILE */
  22. while (1)
  23. {
  24. /* USER CODE END WHILE */
  25. // --- Fade In ---
  26. for (brightness = 0; brightness <= pwm_max_value; brightness += step)
  27. {
  28. // Clamp brightness to max value in case step overshoots
  29. if (brightness > pwm_max_value) {
  30. brightness = pwm_max_value;
  31. }
  32. // Set the PWM duty cycle (Compare value) for both LEDs simultaneously
  33. __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_2, brightness); // LED on PC9
  34. __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1, brightness); // LED on PA5
  35. HAL_Delay(delay_ms); // Adjust delay for breathing speed
  36. }
  37. // Ensure brightness is exactly max value after loop
  38. __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_2, pwm_max_value);
  39. __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1, pwm_max_value);
  40. HAL_Delay(delay_ms * 10); // Optional: Pause briefly at full brightness
  41. // --- Fade Out ---
  42. // Start slightly below max to avoid issues with unsigned wrap-around if step doesn't divide evenly
  43. for (brightness = pwm_max_value; brightness > 0; )
  44. {
  45. // Decrement first, then check bounds
  46. if (brightness <= step) { // Prevent underflow for unsigned int
  47. brightness = 0;
  48. } else {
  49. brightness -= step;
  50. }
  51. // Set the PWM duty cycle (Compare value) for both LEDs simultaneously
  52. __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_2, brightness); // LED on PC9
  53. __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1, brightness); // LED on PA5
  54. HAL_Delay(delay_ms); // Adjust delay for breathing speed
  55. }
  56. // Ensure brightness is exactly 0 after loop
  57. __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_2, 0);
  58. __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1, 0);
  59. HAL_Delay(delay_ms * 10); // Optional: Pause briefly when off
  60. /* USER CODE END 3 */
  61. }
  62. /* USER CODE BEGIN 3 */
  63. }
  64. /* USER CODE END 3 */



并且构建成功:


继续新的探索


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

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

National Instruments终极清理指南:彻底卸载NI软件的正确方法

National Instruments终极清理指南&#xff1a;彻底卸载NI软件的正确方法 【免费下载链接】NI软件NationalInstruments卸载工具 本资源提供了一款专门针对National Instruments软件套件的卸载工具。National Instruments的产品广泛应用于工程和科学领域&#xff0c;包括LabVIEW…

作者头像 李华
网站建设 2026/2/28 19:05:52

PyTorch模型灰度发布在Miniconda环境中的策略

PyTorch模型灰度发布在Miniconda环境中的策略 在AI系统日益复杂的今天&#xff0c;一个看似简单的模型更新&#xff0c;往往可能引发线上服务的连锁故障。你是否经历过这样的场景&#xff1a;刚把新版PyTorch模型推上生产环境&#xff0c;结果因为torch2.0与旧版API不兼容&…

作者头像 李华
网站建设 2026/3/2 3:47:20

教你搭建一个PDF在线工具!部署Stirling-PDF详细指南!

前言 在日常工作和学习中&#xff0c;PDF文档的处理需求无处不在——合并工作报告、拆分电子书章节、为合同添加水印、将扫描件转换为可编辑文本……然而&#xff0c;寻找合适的工具常常令人头疼&#xff1a;在线工具往往有文件大小限制、隐私担忧或满屏广告&#xff1b;专业软…

作者头像 李华
网站建设 2026/2/5 22:44:04

收藏!2025 AI红利期来袭:大模型人才成香饽饽,高薪机会不容错过

2025年&#xff0c;AI赛道彻底点燃科技圈热度&#xff0c;国内外科技巨头集体加码布局&#xff0c;直接带动AI就业市场迎来爆发式增长。核心技术人才缺口持续扩大&#xff0c;薪资水平水涨船高&#xff0c;大厂翻倍薪资抢人已成常态。更值得关注的是&#xff0c;端侧AI市场即将…

作者头像 李华