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

stm32定时器从模式解析

[复制链接]
STMCU小助手 发布时间:2022-11-25 14:06
定时器从模式这里只做三种内部分析2 S( H9 {" v1 X" M
1.复位模式
' M. Z" b/ u: c- b+ G) Z, W2.门控模式
- w# Z4 ^# @5 Y0 o3 B" p3.触发模式& d  G, C4 j- g" B5 W+ R8 J
当主定时器的信号出现上升沿或者下降沿时,会触发从定时器的相应动作# l. I- @- m. k- R  u* o

* l) |- Q1 E" G5 a复位模式
% ]9 @- v  Y* Y# n) V- e6 @9 a8 f主定时器出现信号后:从定时器计数器复位并产生一个中断
7 l% C. w& Y  i3 ]7 [: j5 J: s, n9 g+ R. l' E0 s, {0 `
门控模式
  G7 D7 M: T. X( s1 \9 X" v主定时器出现信号后:从定时器计数器开始工作$ \& `& z" K# c* y  s2 c/ T
主定时器信号结束后:从定时器计数器停止工作并产生中断
" n1 o. N0 x! t: S
& O/ I! A; W9 Y9 t! \触发模式- F$ i6 {3 P/ ?" S9 W4 {& W) X
主定时器出现信号后:从定时器计数器开始工作,并且不会停止+ c, {3 Z9 B% ?* O3 j( D9 l2 b) C
触发模式主定时器只是提供了一个启动从定时器开始时间的控制,并不会有其他效果$ x: I. q6 g9 ]" Q

7 J. J4 ~4 F( x: |, H定时器框图

, e, E. Q, O7 t5 k5 r
7 d  d9 T- H7 H- X 50cddc51b9bf4d549dd8e5efa63b5ec8.png 0 Y3 s! j2 w1 A; ~; D& _$ ]3 z  {
' p; D8 U) A" k. u; _6 |  S
当使用从定时器触发模式时
( f# d1 z, B: S6 V2 w; c6 J& p7 B8 \0 r+ R2 o) E5 Z9 q) `: Y! g; P
36a21ab7f5a34cc29b3764587981cc2f.png 7 b) M+ ?0 h, S; i& P8 E7 s
0 ?" n9 Q' O6 P% t7 j! w. Z" u
下面引用一个示例演示3 ?  k$ [  K3 v) H
基本思路
/ I% P2 q' D. y, H# W开启两个定时器,定时器2与定时器3
; x6 X6 S! y5 W' z; U7 h定时器2做pwm输出,定时器3也做pwm输出(我家有两颗树,一颗是枣树,另一颗也是枣树): ^# c% y# z) ]* [9 `& n
定时器3的pwm输出跟随定时器2的pwm输出。
% b' a* o: k" K如何做? 才能又准又稳定还不占用cpu资源% s6 {% N: g. {- P2 {" n

) j. e0 Q1 ]" r3 q( {5 ^大致思路,定时器2的ch2输出,并将ch2的OC2REF作为从定时器3的TRGO,并通过主从对应表,找到相应的ITRx,当出现上升沿或下降沿时,会触发从定时器的开启。
/ Z( v; `; }" N/ D: M5 |
% Z# w# J% d0 w8 K具体配置. L4 o0 W3 P8 R- ]
定时器2

- F+ [1 h- ?2 Y7 O
) ^$ W/ ]1 w: q3 M3 B5 J dcf17f7c770240338e0f1d18c97297de.png 0 I5 M/ M* T! g- C
7 D! l% V' A. p8 V
052dba933c09402f81a6115c7ad4f0cd.png - {' c3 r* O5 n$ O5 e( [

* C6 a9 R3 K9 z2 E定时器3配置
, `! N; o; L; u. T

+ ^  e8 n) ^* V* c; ~, Y- n 296a347831004ca687bd18f3b77c7426.png + B5 j4 B5 Z! C& ]4 N1 s( }$ S+ a
) w6 H7 U, T8 L4 D; ]2 G, G! E
716c1ee4f5dc4439b8fd381278a5e8e7.png
8 s% N0 t: h" o  d; _% T3 b, [+ l, ^# G3 v. H; T( E0 H( w2 g
从定时器3只是由主定时器2提供一个计时器使能信号,所以这里的内部时钟要打开,提供给定时器3时钟,不过不勾选内部时钟也是可以正常工作的。/ J- i/ j. B& ]! v# v9 S
从定时器3与普通定时无区别,功能相同,不需要理解它有多特殊  d* ]' w  y& ]4 x! r$ S! Q
3 ~" z! d0 ~9 g' v* y  ^
在生成的代码中开启,pwm& J1 S* D* T9 j7 Q2 S

5 g+ X, y$ w+ `, I1 \$ \
  1.         if(HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_2) != HAL_OK)( Q+ A% Z: I+ x% m+ [% C9 p
  2.         {
    8 X' @2 R$ J0 r* P5 P1 U
  3.                 Error_Handler();
    % S( X" X; s8 X" _
  4.         }
    0 w8 Q2 y& x4 S+ g" v& Y- u
  5.         if(HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_3) != HAL_OK)
      p6 Z2 F+ p! n0 c2 R$ m
  6.         {
    . s3 n. I* h/ X4 r0 C" Z; O  ~+ ~9 m
  7.                 Error_Handler();  j% P! t* M3 w7 b0 ]
  8.         }
    2 ^4 t# [* V: A" w
  9.         3 o6 Q4 A8 z: t3 K
  10.         if(HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_4) != HAL_OK)
    ) ?% V$ L! ]- M( a0 M
  11.         {# C3 u# h& T/ S
  12.                 Error_Handler();
    ; Y) V5 ^! m! |* ?" B/ s
  13.         }
复制代码

4 }4 d# [% w4 ]% w0 y最后贴出主从对应表! K) r# e$ Z' Z& A/ F1 L

, b5 n- ]0 r& V. T9 H- | a47ef847f0434104bfa32abbff8303d9.png & ~1 n# O9 t1 z8 e" {2 |$ D+ N, Y
5 ?4 S/ |( S/ o  e6 O1 [6 m$ M2 q
f1ed1ea084a644cfa4f61adbecc50df7.png
! f: w5 W3 j: a0 x, T" Z, R4 @0 Q3 v3 D! X% C
————————————————& m  O7 ]7 u% ^5 |3 y
版权声明:weixin_44748127
6 P2 K: _3 M2 p$ w6 L
7 h( ?. E2 g2 s6 V  }4 v2 j2 k9 F3 B/ b* f4 T
赞 收藏 1 评论0 发布时间:2022-11-25 14:06

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版