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

基于 STM32Cube 库的 Timer 捕获应用

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

+ w4 i2 Z# x  ?/ C/ v# i

% p: Q2 ~+ E* J1 N5 V" \, ^Timer2 的 PWM 信号捕获功能
- c( u" g" x  T" {1 l* r使用 Timer 的 IC1,IC2 两个捕获输入通道,两个通道的外部管脚输入配置为相同 TI1 通道;3 ^0 `9 e9 G3 N) K' u
两个通道的捕获输入极性,一个为 Active,另外一个为 Inactive;
6 M' R# b% L% M* f! p% N" {其中一个 TI1FP1 作为触发输入,从模式配置为复位模式;
/ m: y  Y. @  k/ k& M这样 CCR1 为 PWM 输入的频率值,CCR2 为占空比值(正/负)。% E! r  p; N' s) P; L
3 _! j3 `1 u( a' u& p2 R6 v( a
* g  O! Q. Y2 D- f/ M& J
JTGO](A8`C7K4BQC9BK4KYT.png
+ ~; |- {" J! y' a2 N" M# e) W8 Q- f- E: m4 `6 z
! v9 Y6 r) ^( ^5 K1 f6 A% B
使用 CubeMx 对外设进行初始化配置:
7 r9 e5 N* J5 _
2 \: F5 E/ S) \. UStep1: TIM1 的输出 PWM 波作为捕获输入的被测信号,输出管脚为 PA8+ k& \+ ^: S6 n/ e; k8 G
Step2: TIM2 的输入管脚为 PA5(CH1)! g# l4 f( [4 L" X- b

, |) `- |# V4 B

/ E! M- e" ~; I/ j# } M)MB4{5X{GYY9$}6YPEWV$M.png 5 f; k1 s0 p: ~. G* Z$ ]0 d) m* s
  Y7 O: Z% I$ {

, s0 b, ~: P* \7 RStep3: 配置 TIM2 的输入捕获参数
  {8 F& c3 U& a& ]
) N3 k8 A- `" n3 {4 Q$ ^

8 W! p  U* \( k" D7 Y1 D! p# P( n 6_8GHHE)~)IM[U0U$GMTR98.png
! Z3 s; @2 X! G9 K! i
* t1 x; ?6 K$ V/ E
3 A* V! s! Y9 X& s
Step4: 捕获数据直接通过 DMA 方式保存到 RAM 变量 Update_Value1 和 Update_Value2。! G) i0 `) h0 {9 @; p/ k
  1. <div><font face="Tahoma" size="3" color="#000000">/* USER CODE BEGIN 2 */
    ; w& s. v* O& w& y4 S2 t% B
  2. </font></div><div><font face="Tahoma" size="3" color="#000000">HAL_TIM_Base_Start(&htim1);HAL_TIM_Base_Start(&htim2);+ k# ^' ^& D4 U, z- b" N8 \0 f
  3. </font></div><div><font face="Tahoma" size="3" color="#000000">HAL_TIM_IC_Start_DMA(&htim2,TIM_CHANNEL_1,&Update_Value1,1);
    ! @, b! T: c$ L# X3 d3 m
  4. </font></div><div><font face="Tahoma" size="3" color="#000000">HAL_TIM_IC_Start_DMA(&htim2,TIM_CHANNEL_2,&Update_Value2,1);
    , g8 l) B* _$ y7 F: e5 C/ P
  5. </font></div><div><font face="Tahoma" size="3" color="#000000">HAL_TIM_OC_Start(&htim1,TIM_CHANNEL_1);
      o& X. P% r* }- {8 k
  6. </font></div><div><font face="Tahoma" size="3" color="#000000"> /* USER CODE END 2 */</font></div>
复制代码
6 a+ T/ Z! f, Q4 E9 a
+ N  C7 u, T% t0 a, X
Step5: 测试读取到的 CCR1、CCR2 的数据与 Update_Value1、Update_Value2 对应,PWM 波的频率) m  P+ H! |) ~1 L& Z. p8 i
和占空比都可以捕获得到。 . T; S' S( A: z0 y: V- b
9 Z& T3 ^0 S& r9 u, P+ e

' [2 S& X% L  l3 B5 x  d1 g& C 4F7L8NYXCCS0X5YK_YP(9WW.png : W* g+ i7 p6 Z

# z0 A0 d' u& q0 T
6 c  _; J3 y6 C6 o9 i  d# p& d0 K完整版请查看:附件
! M: A/ N6 R6 ?/ {5 Q3 A3 o0 S- x

0 m( O5 M5 X# Y+ @3 p+ y# W' }: j: ]- k7 C- i( z

+ ~" v7 x6 \; V6 O* Y! f6 x: m
# J  n3 t+ x$ Y4 G$ O. n/ ]

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管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版