news 2026/6/10 12:55:56

[STM32C0] 【STM32C092RC 测评】4、板载外设——PWM

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[STM32C0] 【STM32C092RC 测评】4、板载外设——PWM

本次测试PWM的输出准备使用外部的示波器进行查看,PWM是我们比较常用的功能之一,不管是步进电机的驱动还是咱们常见的呼吸还是咱们常见的呼吸灯,实际上都是通过PWM来实现的。还有一些驱动器件的基准也需要通过其提供。实际上PWM是定时器的一个高级功能,我们都知道定时器是通过预分频以及计数来实现的,而我们的pwm就是在达到百分比的一个计数的时候实现的一个状态的翻转,也可以理解为在定时器的周期内插入了一个状态的一个反转。和其他的高级功能一样,都要依托于定时器的基本定时计数功能。
PWM这类的高级功能就不只是内部模块的使用了,还是需要配合着GPIO的引脚进行工作,PWM需要GPIO进行输出。
我们开启一个高级定时看一下PWM的实际使用方法:

打开定时器后我们可以看到通道的配置,这些通道最后就会连接到固定的一些引脚上,我们看一下CH1对应的默认引脚:

我们可以看到对应的PA0已经自动配置了:

需要注意的事PWM的输出不需要中断的参与,也就是说不用开启中断,但是必要的定时器参数还是需要配置的和定时器的配置方法是一致的,比如配置为1kHz的频率,如下:

高级定时器还可以进行死区配置,不过咱们这里就不用了,对开始的输出状态也没有太大要求,就按照默认的来:

初始化阶段需要先开启PWM输出:

复制

  1. <p>HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_1);</p><p>__HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,0);</p>


接下来我们在上面的三个模式中加入不同的PWM占比:

复制

  1. <p>void HAL_GPIO_EXTI_Falling_Callback(uint16_t GPIO_Pin)</p><p>{</p><p> if(GPIO_Pin == GPIO_PIN_13)</p><p> {</p><p> LED_Mode++;</p><p> LED_Mode %= 3;</p><p> LED_TimeCnt = 0;</p><p> HAL_GPIO_TogglePin(User_LED1_GPIO_Port, User_LED1_Pin);</p><p> if(LED_Mode == 0){</p><p>__HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,250);</p><p> }</p><p> else if(LED_Mode == 1){</p><p>__HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,500);</p><p> }</p><p> else if(LED_Mode == 2){</p><p>__HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,750);</p><p> }</p><p> }</p><p>}</p>


三个按键对应三个状态,以下是对应的不同占空比,也是正确的:


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

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

你真的了解点击劫持漏洞吗?深度解析与防御策略

你真的了解点击劫持漏洞吗&#xff1f; 我听过许多关于点击劫持的版本&#xff0c;但没有人能真正把它解释清楚。 点击劫持的核心思想 点击劫持的核心思想在于&#xff1a; 目标网站&#xff1a;执行敏感操作的一方&#xff08;例如“支付”、“更改设置”按钮所在的网站&a…

作者头像 李华
网站建设 2026/6/10 9:24:30

线上故障紧急处理手册:如何在不重启的情况下用jstack救活死锁应用

第一章&#xff1a;线上故障紧急处理手册的核心价值 在现代分布式系统架构中&#xff0c;线上服务的稳定性直接关系到企业声誉与用户信任。面对突发性故障&#xff0c;响应速度与处理效率成为关键指标&#xff0c;而《线上故障紧急处理手册》正是提升应急响应能力的核心工具。它…

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

99%的开发者忽略的jstack隐藏功能:精准捕获死锁线程的3种技巧

第一章&#xff1a;jstack工具的核心原理与定位价值 线程快照的生成机制 jstack 是 JDK 自带的命令行工具&#xff0c;用于生成 Java 虚拟机当前时刻的线程快照&#xff08;Thread Dump&#xff09;。线程快照是虚拟机内所有线程的运行状态集合&#xff0c;包含每个线程的调用…

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

cv_resnet18如何复制文本?WebUI交互操作技巧汇总

cv_resnet18如何复制文本&#xff1f;WebUI交互操作技巧汇总 1. 引言&#xff1a;OCR文字检测的实用价值 你有没有遇到过这样的情况&#xff1a;看到一张图片里的文字&#xff0c;想快速提取出来&#xff0c;却只能手动一个字一个字地敲&#xff1f;尤其是在处理合同、证件、…

作者头像 李华
网站建设 2026/6/10 9:24:50

如何实现离线运行?麦橘超然断网环境部署技巧

如何实现离线运行&#xff1f;麦橘超然断网环境部署技巧 1. 麦橘超然 - Flux 离线图像生成控制台简介 你有没有遇到过这种情况&#xff1a;手头有个不错的AI绘画模型&#xff0c;但一打开才发现要联网下载一堆东西&#xff0c;甚至有些服务已经下线了&#xff0c;根本跑不起来…

作者头像 李华
网站建设 2026/6/10 9:39:07

X1 -5H+ USR_G781 DTU 网络差分接入详细配置与实现方案

X1 + DTU 网络差分接入详细配置与实现方案 📚 1. 系统架构概述 系统组成: ┌─────────────────────────────────────────────────────────┐ │ 系统拓扑图 │ …

作者头像 李华