
导语 当使用 Timer 做捕获输入时,有时候需要将捕获得到的数据通过 DMA 方式写到定义好的数据或数组中,本文将详细介绍使用 CubeMx 配置 PWM 捕获功能,用户可以直接得到输入的 PWM 信号的频率以及占空比,Cube 库可以很方便配置。 实验过程中,当配置超过两个以上的 Timer 通道 DMA 时会遇到一些问题,本文也对其进行了说明并给出了解决方案。 Timer2 的 PWM 信号捕获功能 使用 Timer 的 IC1,IC2 两个捕获输入通道,两个通道的外部管脚输入配置为相同 TI1 通道; 两个通道的捕获输入极性,一个为 Active,另外一个为 Inactive; 其中一个 TI1FP1 作为触发输入,从模式配置为复位模式; 这样 CCR1 为 PWM 输入的频率值,CCR2 为占空比值(正/负)。 ![]() 使用 CubeMx 对外设进行初始化配置: Step1: TIM1 的输出 PWM 波作为捕获输入的被测信号,输出管脚为 PA8 Step2: TIM2 的输入管脚为 PA5(CH1) ![]() Step3: 配置 TIM2 的输入捕获参数 ![]() Step4: 捕获数据直接通过 DMA 方式保存到 RAM 变量 Update_Value1 和 Update_Value2。
Step5: 测试读取到的 CCR1、CCR2 的数据与 Update_Value1、Update_Value2 对应,PWM 波的频率 和占空比都可以捕获得到。 ![]() 完整版请查看:附件 |
notes for timer input capture features when using DMA mode_V0.2.pdf
下载596.51 KB, 下载次数: 0
STM32 GUI LTDC 最大像素时钟评估方法
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
STM32功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享
HRTIM 指南