你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于 STM32Cube 库的 Timer 捕获应用

[复制链接]
STMCU小助手 发布时间:2022-8-2 18:43
导语
当使用 Timer 做捕获输入时,有时候需要将捕获得到的数据通过 DMA 方式写到定义好的数据或数组中本文将详细介绍使用 CubeMx 配置 PWM 捕获功能用户可以直接得到输入的 PWM 信号的频率以及占空比,Cube 库可以很方便配置
实验过程中,当配置超过两个以上的 Timer 通道 DMA 时会遇到一些问题,本文也对其进行了说明并给出了解决方案


Timer2 PWM 信号捕获功能
使用 Timer IC1,IC2 两个捕获输入通道两个通道的外部管脚输入配置为相同 TI1 通道
两个通道的捕获输入极性一个为 Active,另外一个为 Inactive;
其中一个 TI1FP1 作为触发输入从模式配置为复位模式
这样 CCR1 PWM 输入的频率值,CCR2 为占空比值/


JTGO](A8`C7K4BQC9BK4KYT.png


使用 CubeMx 对外设进行初始化配置

Step1: TIM1 的输出 PWM 波作为捕获输入的被测信号,输出管脚为 PA8
Step2: TIM2 的输入管脚为 PA5(CH1)


M)MB4{5X{GYY9$}6YPEWV$M.png


Step3: 配置 TIM2 的输入捕获参数


6_8GHHE)~)IM[U0U$GMTR98.png


Step4: 捕获数据直接通过 DMA 方式保存到 RAM 变量 Update_Value1 和 Update_Value2。
  1. <div><font face="Tahoma" size="3" color="#000000">/* USER CODE BEGIN 2 */
  2. </font></div><div><font face="Tahoma" size="3" color="#000000">HAL_TIM_Base_Start(&htim1);HAL_TIM_Base_Start(&htim2);
  3. </font></div><div><font face="Tahoma" size="3" color="#000000">HAL_TIM_IC_Start_DMA(&htim2,TIM_CHANNEL_1,&Update_Value1,1);
  4. </font></div><div><font face="Tahoma" size="3" color="#000000">HAL_TIM_IC_Start_DMA(&htim2,TIM_CHANNEL_2,&Update_Value2,1);
  5. </font></div><div><font face="Tahoma" size="3" color="#000000">HAL_TIM_OC_Start(&htim1,TIM_CHANNEL_1);
  6. </font></div><div><font face="Tahoma" size="3" color="#000000"> /* USER CODE END 2 */</font></div>
复制代码


Step5: 测试读取到的 CCR1、CCR2 的数据与 Update_Value1、Update_Value2 对应,PWM 波的频率
和占空比都可以捕获得到。


4F7L8NYXCCS0X5YK_YP(9WW.png


完整版请查看:附件





notes for timer input capture features when using DMA mode_V0.2.pdf

下载

596.51 KB, 下载次数: 0

收藏 评论0 发布时间:2022-8-2 18:43

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版