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

stm32定时器从模式解析

[复制链接]
STMCU小助手 发布时间:2022-11-25 14:06
定时器从模式这里只做三种内部分析! D( I) C; C. n3 f: f3 j1 ^$ b/ ~& z
1.复位模式
1 L3 Y1 y6 X6 Y" r9 a) K" G2.门控模式; O9 M0 V* U4 q; \1 e* \3 f7 D
3.触发模式
6 _9 ]2 Q, a8 x+ Y+ ?# Z; e) s( G当主定时器的信号出现上升沿或者下降沿时,会触发从定时器的相应动作% B5 d8 `% P+ |) G. m( x  U! z
9 ^0 Y* p" N, {, N1 Y: Q" I
复位模式* S( v- k! M2 R
主定时器出现信号后:从定时器计数器复位并产生一个中断1 X- z" A7 ?$ j" Y2 F2 R% m% G

% y  v  V% o7 ^7 \0 a5 O$ q门控模式$ l+ X+ A' R% ?  @3 [: D  x) l
主定时器出现信号后:从定时器计数器开始工作. ]- V" ^; P6 i0 q$ M7 s' b8 c  {
主定时器信号结束后:从定时器计数器停止工作并产生中断" g- D  V% k& t) o; c1 E+ U( k0 m

+ Q) u2 W" ]3 t+ c1 s8 M触发模式
2 n! s$ h! }+ I) V主定时器出现信号后:从定时器计数器开始工作,并且不会停止
2 [: j) K1 A. H; e触发模式主定时器只是提供了一个启动从定时器开始时间的控制,并不会有其他效果7 ?) o# ], I9 D3 k% V, _
0 d* ^, d  d9 g7 L# \) X
定时器框图
& N/ @" S7 |% e& c! k
4 W2 Q( O* z$ r7 [, x- d
50cddc51b9bf4d549dd8e5efa63b5ec8.png
  A& b. X; j: K/ d- D
3 y/ ~. Q4 R& C  P/ \当使用从定时器触发模式时$ a* P; v& i- @9 i) j% P* i2 G
" g2 z! n1 v5 V: k% Y3 a+ w- u
36a21ab7f5a34cc29b3764587981cc2f.png
3 {- n5 [: I7 s6 e+ R1 Q- M7 F6 _! [
下面引用一个示例演示4 p/ K6 p" i! @
基本思路
9 \3 E8 y9 `6 L  `0 q- B) z, B% N, B开启两个定时器,定时器2与定时器3
3 n4 H! u% F! o0 h: O& j- R* T* r/ z定时器2做pwm输出,定时器3也做pwm输出(我家有两颗树,一颗是枣树,另一颗也是枣树)$ ^" e6 m; Q" J
定时器3的pwm输出跟随定时器2的pwm输出。* K- ~: t4 p/ v) ~" M
如何做? 才能又准又稳定还不占用cpu资源! |( \0 @" M* k& t- V* D
4 N  G: j0 g: U! M% p
大致思路,定时器2的ch2输出,并将ch2的OC2REF作为从定时器3的TRGO,并通过主从对应表,找到相应的ITRx,当出现上升沿或下降沿时,会触发从定时器的开启。
& J, g0 L+ u7 g2 W/ {# L
, M, K. C2 a. U2 \# q具体配置+ S- J; ^! G3 r- v" J
定时器2

! d2 g3 V% V4 S$ O( B6 R0 r! ?
! L, b4 R* W. |* x& {+ z dcf17f7c770240338e0f1d18c97297de.png
9 h4 L' p& P( m, f" `4 d3 x
1 n# q5 Q) G2 F 052dba933c09402f81a6115c7ad4f0cd.png
$ U& q& L6 ~$ h% ^) Z! J
8 [; M. R5 Y% V4 Z# I/ m定时器3配置
! j* u; }0 T; |, s9 i; t
  G! b# q7 T7 i% h
296a347831004ca687bd18f3b77c7426.png / L- o$ ^) d- p! O3 o

, L* L' y: K# |* w  d5 S 716c1ee4f5dc4439b8fd381278a5e8e7.png
3 `  \# j/ |. e" Z3 z7 a, }+ [- J+ z: l
从定时器3只是由主定时器2提供一个计时器使能信号,所以这里的内部时钟要打开,提供给定时器3时钟,不过不勾选内部时钟也是可以正常工作的。; l; h% O9 S$ c7 B3 J+ u" F& w
从定时器3与普通定时无区别,功能相同,不需要理解它有多特殊8 g/ P- J% b5 @* V: L$ V7 `: D, Z

# `6 i2 l3 Y2 o在生成的代码中开启,pwm
- {8 x5 S: [- F/ M* U, s: H
5 w. }  d- |7 _1 _- ^7 _
  1.         if(HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_2) != HAL_OK)
    / c" n% y# V3 J+ y4 [6 X
  2.         {
    # Q1 q; ^! `5 }/ I7 v6 t
  3.                 Error_Handler();
    1 W, A( S: L! _! k9 E
  4.         }
    - L3 O- q) F* r1 b: O
  5.         if(HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_3) != HAL_OK)8 F0 q+ j9 w0 ~
  6.         {" ^- j( O! e' R( w# U+ A4 z+ Z
  7.                 Error_Handler();
    0 D& Y) D2 ]( Y& u7 q+ C& `
  8.         }3 G, e  n  ~' W
  9.         # ^. l4 ]7 U; S; ^( I# L1 p
  10.         if(HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_4) != HAL_OK)
    / I8 V* Y3 U, o1 _! E
  11.         {
    2 M5 T+ v% l# W! X2 |
  12.                 Error_Handler();
    ( G$ n0 [- p! U% c9 X
  13.         }
复制代码

' {& R. B( {5 y: w1 E1 Y最后贴出主从对应表" U6 v1 r7 [; B
6 u, g+ T# S. O5 ^3 Q. `( ?# ^8 H
a47ef847f0434104bfa32abbff8303d9.png
1 c% m4 a: z/ i8 n" x2 i
5 t$ ~# Y' o+ Y6 W6 ^) R2 S f1ed1ea084a644cfa4f61adbecc50df7.png 9 h& ~3 i8 O; o- d4 \" O

4 u, }- t7 Q: n6 j( c" y* D, [————————————————; X4 a7 r1 O5 ^8 v, w9 c/ H) l
版权声明:weixin_44748127+ H% {9 G# `* |9 w
% N% O) M( v/ _5 a7 M
% z. g: @) l9 \5 }- K1 i2 X  [
收藏 1 评论0 发布时间:2022-11-25 14:06

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版