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

stm32定时器从模式解析

[复制链接]
STMCU小助手 发布时间:2022-11-25 14:06
定时器从模式这里只做三种内部分析
" b; U5 h) {1 \$ \9 S1 E$ `1.复位模式; Z6 T6 ~. n5 b) ^, ^. B
2.门控模式# f% e5 I: P3 g) V& ^5 P, J
3.触发模式4 ^# \) z7 L$ }2 q# r6 I0 F1 x: o
当主定时器的信号出现上升沿或者下降沿时,会触发从定时器的相应动作7 I( [! T# r/ [& c0 o9 |$ s

* ]' N# H" F' k3 H复位模式
& {8 }' t. |( Z0 G主定时器出现信号后:从定时器计数器复位并产生一个中断1 [3 K- m" z7 y8 B7 L' n
3 I/ a6 p3 u* ~. A+ ~
门控模式9 b; ~; \) H0 }
主定时器出现信号后:从定时器计数器开始工作( U/ Y" M! \$ o$ O0 g
主定时器信号结束后:从定时器计数器停止工作并产生中断" U9 y! d0 ?1 E0 [9 `7 s
- ^" ]- X& t$ ~8 m9 K$ w6 i
触发模式) E3 s# F1 g( R5 F, g
主定时器出现信号后:从定时器计数器开始工作,并且不会停止
' a: J8 u: u- j: ?3 [触发模式主定时器只是提供了一个启动从定时器开始时间的控制,并不会有其他效果& y! s3 B7 v! b) T5 ^3 c% n0 ~

0 f. S5 ~! [5 z- p: q5 O' ~: i定时器框图
3 C) N; J. ?3 c! a- ]1 t
0 {3 t/ A! ]+ Q& n
50cddc51b9bf4d549dd8e5efa63b5ec8.png
9 r+ v; e' v4 y+ J7 L* s$ X1 q' z$ i/ b( d+ F+ o' ]( D8 }' G
当使用从定时器触发模式时
+ ^  O7 `2 R2 q/ k! r% T' |
# r3 w( m" E# V7 R% R3 x 36a21ab7f5a34cc29b3764587981cc2f.png
& [$ J2 f; G- I+ Y4 u
3 d& k  I- D( \, d" g5 i" j下面引用一个示例演示
% U' q/ u2 Q  i/ h基本思路
6 c9 n' [& H% ~* o开启两个定时器,定时器2与定时器3+ ^8 ^( ]' |# J* [& l
定时器2做pwm输出,定时器3也做pwm输出(我家有两颗树,一颗是枣树,另一颗也是枣树)
1 |& ~# O1 {! D' m! `) I* w定时器3的pwm输出跟随定时器2的pwm输出。! d' q0 _0 ^. s7 F% C
如何做? 才能又准又稳定还不占用cpu资源
# w$ y; `, i) c- y/ e
  z1 O: c5 ?+ b+ @# i大致思路,定时器2的ch2输出,并将ch2的OC2REF作为从定时器3的TRGO,并通过主从对应表,找到相应的ITRx,当出现上升沿或下降沿时,会触发从定时器的开启。
5 R% H: [! j; i6 }0 `+ k8 a0 e# g! ?5 p0 l' o! a9 ^+ Z
具体配置. I+ q% ^: L% s  O( n
定时器2
* C2 h  S$ S( ]0 m0 v

" O2 _9 a3 F( W dcf17f7c770240338e0f1d18c97297de.png
2 U% J# W' e3 v' d  W+ J4 m5 s0 h- C4 M3 ]! Y! U; f( k3 m: @% C
052dba933c09402f81a6115c7ad4f0cd.png 0 i/ G1 \2 I" u) B4 s9 t$ R, Q+ v

* U! D8 a' a% |2 c定时器3配置
5 ~+ ]: z( S1 z

9 `8 h2 l7 R- _9 J 296a347831004ca687bd18f3b77c7426.png
# `  Y; i' C0 h" f0 B' H8 H1 t
- q; a; O8 ~* n7 k# A 716c1ee4f5dc4439b8fd381278a5e8e7.png 4 m8 F  b$ X8 m; N# F2 L

7 v8 n4 N: S" g4 N1 f1 V9 M从定时器3只是由主定时器2提供一个计时器使能信号,所以这里的内部时钟要打开,提供给定时器3时钟,不过不勾选内部时钟也是可以正常工作的。
( I' u  V: L' @# v1 {/ }从定时器3与普通定时无区别,功能相同,不需要理解它有多特殊% j9 o/ P3 x% [" P
" [& P7 ~: F) {/ J
在生成的代码中开启,pwm
4 k2 I, j1 H, r1 s' Q) `  F" \* p: i
5 m2 A$ J5 v; q3 ~$ k
  1.         if(HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_2) != HAL_OK)
    8 n# ^/ A. h0 v  Z# T/ G
  2.         {& Y0 N! E/ b+ Q( V
  3.                 Error_Handler();
    7 c4 l# T3 R/ G& D7 z
  4.         }
    ) M/ ?2 l  N- T" ~% q' ?- s, q" {
  5.         if(HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_3) != HAL_OK)# t3 Z$ v! g3 Z2 [1 V) V
  6.         {4 n$ R6 f! Z- ^, z6 {! \, m
  7.                 Error_Handler();: P9 \- i, b1 d. [9 u6 {/ i; M
  8.         }
    " X5 G1 I% X( k! P# d
  9.         2 o* `8 u3 ^6 i/ _
  10.         if(HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_4) != HAL_OK)
    0 h, j! \/ d/ k" j+ m, z
  11.         {2 H; W5 |* F8 Q4 W& X) O; B& W
  12.                 Error_Handler();
    * b$ m$ V% `: r+ A
  13.         }
复制代码
; @6 z8 o' Z0 _
最后贴出主从对应表% d# j2 J& Y  W! G7 E5 M; h

5 Z/ X3 ]$ a# @2 U a47ef847f0434104bfa32abbff8303d9.png ; K* k/ X) X0 S$ t
6 G% c2 a3 w' h5 M- @  G0 V
f1ed1ea084a644cfa4f61adbecc50df7.png
" W* B* V3 K6 v
; ]' c' X2 R5 ]$ s' v) L& C————————————————* k0 V# f% B/ ?9 x3 h8 `
版权声明:weixin_44748127+ }1 l$ X' W  y: w

9 i& S3 j! v& J) A- }! p
# y$ Y1 b& c: a9 }2 s, g% X1 j( d. V
赞 收藏 1 评论0 发布时间:2022-11-25 14:06

举报

0个回答

所属标签

相似技术帖

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