【亲测免费】 STM32 HAL库单脉冲模式PWM输出示例
2026-01-24 05:49:50作者:尤辰城Agatha
项目描述
本项目提供了一个基于STM32F103C8T6单片机的HAL库单脉冲模式PWM输出示例。通过使用Keil MDK 5.32版本,本示例展示了如何配置定时器2和定时器3来实现PWM信号的输入捕获和输出控制。
主要功能
-
定时器2配置:
- 采用PWM输入捕获模式,复位从模式(触发则复位CNT寄存器)。
- 通道1(PA0)设置为上升沿触发,IC1上升沿捕获,IC2下降沿捕获。
- 开启IC1捕获中断。
- 分频为7200,计一个数为0.1ms,重装载值为65535。
-
定时器3配置:
- 采用PWM输出模式,触发从模式(触发则使能定时器)。
- 通道2(PA7)设置为下降沿触发,OC1(PA6)为PWM输出模式。
- 分频为7200,计一个数为0.1ms,重装载值为100,CCR1寄存器为50。
- 输出PWM波周期为10ms,占空比为50%。
- 定时器3在单脉冲模式下工作,发生更新事件则失能定时器,即10ms后失能定时器。
-
单脉冲模式:
- 负责失能定时器。
- 触发从模式(通道2 PA7检测到上升沿信号)负责使能定时器。
-
LED控制:
- PC13控制LED灯,每50ms亮灭一次。
硬件连接
- 使用杜邦线连接PA0和PA6。
- 使用杜邦线连接PA7和PC13。
输出波形分析
通过上述配置,输出的PWM波高电平持续时间为95ms,低电平为5ms。可以通过绘制波形图来进一步分析。
注意事项
- 确保硬件连接正确,避免短路或其他硬件故障。
- 根据实际需求调整定时器的分频和重装载值,以满足不同的应用场景。
使用说明
- 下载本仓库的资源文件。
- 使用Keil MDK 5.32版本打开项目文件。
- 根据硬件连接图连接STM32F103C8T6开发板。
- 编译并下载程序到开发板。
- 观察PWM输出波形和LED灯的闪烁情况。
贡献
欢迎提交问题和改进建议,帮助我们完善这个示例项目。
登录后查看全文
热门项目推荐
相关项目推荐
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0193- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
awesome-zig一个关于 Zig 优秀库及资源的协作列表。Makefile00
项目优选
收起
deepin linux kernel
C
27
12
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
601
4.04 K
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
69
21
Ascend Extension for PyTorch
Python
441
531
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
112
170
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.46 K
825
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
922
770
暂无简介
Dart
847
204
React Native鸿蒙化仓库
JavaScript
321
375
openGauss kernel ~ openGauss is an open source relational database management system
C++
174
249