news 2026/6/16 19:20:42

[STM32C0] 【STM32C092RC 测评】+08 定时器1输出可变脉宽

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[STM32C0] 【STM32C092RC 测评】+08 定时器1输出可变脉宽

今天对脉冲宽度进行测试:一:PWM脉宽知识分享:
PWM(脉冲宽度调制)的脉冲宽度是指在一个周期内信号处于高电平(或有效状态)的时间长度,通常用时间单位(如微秒μs、毫秒ms)或占空比(百分比)表示。以下是关键点解析:
脉冲宽度(Pulse Width):单个PWM周期中高电平的持续时间。
公式:
脉冲宽度=高电平时间周期总时间×100%(占空比形式)
脉冲宽度=周期总时间高电平时间​×100%(占空比形式)或直接以时间表示(例如2ms)。
占空比(Duty Cycle):脉冲宽度与周期的比值,反映高电平所占比例。
示例:
周期=10ms,高电平时间=3ms → 脉冲宽度=3ms,占空比=30%。
通过调整高电平时间(脉冲宽度)改变占空比,从而控制输出能量。
例如:
电机调速:增大脉冲宽度 → 占空比提高 → 电机转速加快。
LED调光:脉冲宽度减小 → LED亮度降低。
二:程序代码如下:

复制

  1. void UpdataDutyData(int value)
  2. {
  3. TIM_MasterConfigTypeDef sMasterConfig = {0};
  4. TIM_OC_InitTypeDef sConfigOC = {0};
  5. htim1.Instance = TIM1;
  6. htim1.Init.Prescaler = 47;
  7. htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
  8. htim1.Init.Period = 999;
  9. htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
  10. htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
  11. if (HAL_TIM_OC_Init(&htim1) != HAL_OK)
  12. {
  13. Error_Handler();
  14. }
  15. sConfigOC.OCMode = TIM_OCMODE_PWM1;
  16. sConfigOC.Pulse = 999 * value/100 ;
  17. sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
  18. sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
  19. if (HAL_TIM_OC_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
  20. {
  21. Error_Handler();
  22. }
  23. HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);
  24. }

上述代码在之前的的定时器2中被调用,如下所示:

复制

  1. int tempdata = 0 ;
  2. void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
  3. {
  4. /* USER CODE BEGIN Callback 0 */
  5. /* USER CODE END Callback 0 */
  6. /* USER CODE BEGIN Callback 1 */
  7. if (htim->Instance == TIM2) {
  8. Time2point++;
  9. if(Time2point >=1000)
  10. {
  11. Time2point = 0 ;
  12. HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
  13. //HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_9);
  14. tempdata =tempdata + 5 ;
  15. if(tempdata >=100)tempdata = 5 ;
  16. UpdataDutyData(tempdata);
  17. }
  18. }

三:实物测试如下:


如上图所示,基本的脉宽测试功能正常,可以制作一些小夜灯什么的。


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

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

实验四 ysy

/* project1_add.增加数据 */ #include <stdio.h> #include <stdlib.h>typedef struct {int id; // 产地IDchar name[50]; // 产地名称int yield; // 产量&#xff08;吨&#xff09; } OrangeFarm;int main() {OrangeFarm new_farm; // 本次只需定义一个结…

作者头像 李华
网站建设 2026/6/5 19:11:47

拥抱大数据领域数据服务,迎接数字时代挑战

拥抱大数据领域数据服务&#xff0c;迎接数字时代挑战 引言&#xff1a;数字时代的“数据焦虑” 凌晨两点&#xff0c;某零售企业的IT主管王磊盯着电脑屏幕上的报警信息发愁——营销部门刚发来紧急需求&#xff1a;“明天要推出‘618预热活动’&#xff0c;需要近30天所有门店的…

作者头像 李华
网站建设 2026/6/4 8:58:19

2025 零代码 AI 落地神器曝光

一、场景痛点与核心目标 场景痛点 企业落地 AI 应用时&#xff0c;常面临技术整合复杂、落地周期长、成本不可控、商用配套缺失等实际问题&#xff1a;多工具拼接易出现兼容性隐患&#xff0c;非技术团队难以独立完成配置&#xff1b;自研商用模块&#xff08;用户管理、支付…

作者头像 李华
网站建设 2026/6/15 18:09:19

雷达液位计工作原理是什么?(脉冲雷达 vs FMCW 雷达)

​ ​微波如何成为工业的“智慧之眼”&#xff1f;​ ​在现代工业的复杂环境中&#xff0c;精准测量液位是安全与效率的基石。雷达液位计&#xff0c;这项看似神秘的微波探测技术&#xff0c;正以其非接触、高精度的特性&#xff0c;默默守护着无数储罐与反应釜。它究竟…

作者头像 李华
网站建设 2026/6/14 6:51:34

【必读收藏】从写代码到“调教“AI:我的转型之路与开发方式革命

从Java程序员转型为AI应用开发工程师的经历。工作内容从编写CRUD接口变为研究大模型能力边界和设计AI业务流程。开发方式从直接写代码转变为与AI工具协作。思维方式从"工具人"升级为"编排师"&#xff0c;利用自身系统架构和业务经验优势&#xff0c;实现人…

作者头像 李华
网站建设 2026/6/10 20:43:18

牛批了,磁盘清理神器

今天给大家带来一款好用的硬盘清理软件&#xff0c;可以更好的管理电脑的硬盘存储空间&#xff0c;有需要的小伙伴一定要及时下载收藏。 HDCleaner 硬盘清洁器 这款软件功能非常多&#xff1a;包括电脑垃圾清理、注册表清理、永久删除文件、磁盘分析和整理等功能。 在清理栏目…

作者头像 李华