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

【经验分享】STM32CubeMX学习笔记——STM32H743通用定时器

[复制链接]
STMCU小助手 发布时间:2021-12-30 12:42
功能简述
; C6 d/ Y+ ~' R9 z3 T/ g主模式TIM2的中断作为从模式TIM3的时钟输入! h9 H# f9 G" A3 ^$ J1 x3 @
(级联定时器)
5 I! ~: C% I' v& t4 s/ F7 R红灯亮6灭5 频率1hz
0 ~( \) {5 G5 Y( Z1 ?: l3 u1 `; {, T绿灯亮3灭3 频率0.5hz; f! ?5 ~9 V1 _0 U
1 y. @; n4 v6 Y9 `* }% ^* E6 S0 Y5 U
STM32CubeMX配置( n1 y, }' n2 W: U& x
STM32CubeMX版本:4.27.04 p0 e+ j0 z( j  p5 u
配置流程:
; |. I7 R' G! r: Z3 zPinout界面选择并开启需要的LED控制引脚! P7 x4 Z  w  F- F! Z; N, i0 R$ k
Clock Configuration配置时钟树0 @/ v. _! y8 u0 q) e9 `
Configuration界面配置System
# k5 m% R9 S$ P: r# d8 Q+ V+ l# g" ?生成工程
( l$ B5 W5 m; ]+ Y3 J  I
; b: Y* h9 P5 n  c, x' q* C% wPinout配置$ w' G# \, ~4 s" ?; Z

9 K8 R$ ~: y0 ]1 J( g5 f* |
20181114183530542.png
% h" Y0 i0 q, D4 C
0 ^8 k0 e3 g+ x+ q  H
LED输出PIN配置,TIM2,TIM3的基本配置5 R& n" r7 a1 T' K" b
' S. K: W3 ^- k+ f& Q* Q0 a2 v$ g
Clock Configuration配置

  w, A: E; p/ N; u8 g  G6 z! X
* E& m- F% b0 v3 E3 d( S) X( {
20181114183747397.png

7 ~3 w* h: S$ ~3 F4 `  i! y8 Q* c2 u( z( \3 g
开启系统时钟,设置TIM2、TIM3时钟(APB1)3 R2 R4 l4 K* W3 Z$ O
7 E# |- D1 D" r7 v( e
Configuration

* h) t7 i% x) p' M  S. v5 ]0 T- e  v
20181114183850446.png
+ M2 ^/ j1 \! F7 v! i- ^5 e
左侧主要系统功能的开启,或中间软件层功能的开启(如:RTOS、JPEG解码器,文件系统等)% I0 i) d0 M* A  B
右侧是系统及外设模块的具体配置) r! p" C% |# y3 z9 _# X. n

% [% Y' z9 G7 t7 S: `. rGPIO
# f$ j( D/ h* D+ y( v8 q- v* w6 E+ u# @8 {3 Z. y! i
20181114183903908.png

2 w" R) M, _: r1 i3 }
1 F! ?) N" R  l$ d( H& Q输出配置6 Y% v$ n& G2 P4 |- J# G5 l

8 u7 I3 E8 Z6 m4 a6 jTIM3
; g  C5 [& w3 [' H+ E5 [  m* O. D: |; h& m# o
20181114190455873.png

) p2 j6 J7 m( G3 z5 T2 t/ y9 {7 F* q) Q; o5 M: @" y/ J  u
周期=((1+TIM_Prescaler )/时钟)*(1+TIM_Period )
" m" g+ G4 t" c  `+ d" B6 d& a& L分频:62499
  z8 ~" o0 d( A; h# r9 w' T计数模式:向上计数
1 h% z' B# A5 b: Q: Y# \5 F" n重装值:99" e8 ?4 N7 W" m& W" y1 h
时钟分割:0 (数字滤波器相关)
& Q2 t, L- T$ V0 G- k% u7 m% r1 Q自动重装:开启
# |8 h- e1 p7 g0 L, c4 nMSM:关闭(开启将在该定时器使能的同时TRGO发出信号)
/ Z2 J- s) ~1 T3 o8 g4 m* a触发事件选择:更新& h- r' d- F! q1 b

3 I+ `2 I. f9 m! I, {- x
20181114191227123.png

# ?2 W% E! O8 F% W5 x! d: j3 G' n  L! p6 s, W( Z
20181114184015462.png

: d/ x" X' F, v( _/ X1 p
; }+ ~6 h/ K" Y# e, g7 q  _) B  eTIM2" O- B: B  \2 ?% C: z

% A# q" K. d7 `- S+ X9 h/ O9 S
20181114183942334.png
; F3 l: s4 d' o) U
3 ]% R  U( \1 x" T, D! q
周期=((1+TIM_Prescaler )/时钟)*(1+TIM_Period )4 G& j5 d3 M: n8 ?
分频:0
& N8 i9 }( n- {6 a  {3 I计数模式:向上计数
+ M2 g# j& b4 c" o3 L+ V0 M# A重装值:1; \" P" K$ Q6 D" ?8 X3 E) r
时钟分割:0 (数字滤波器相关)/ F9 E) r8 x) F' Q
自动重装:开启
8 w& k- p- l" c0 d( H% J, g% D由于TIM2作为从定时器,它的时钟实际是TIM3的中断信号5 W0 ~4 ?  A6 l4 h' m4 x: }$ X5 J
4 j6 O9 Y# v2 u$ b9 m
20181114183953321.png
/ a7 N  ?4 R- y

9 P5 `: i' P+ w7 D* yNVIC9 c# j7 z4 `" S  C2 a/ {* B

9 n5 O' W6 p, U& J) h; K
20181114184036691.png
  |! L9 l6 J& q

* d+ b# D) f1 R3 f9 l  o
20181114184042347.png

# x$ Z4 z0 \, k6 n4 D( O6 F6 Y& N. p. T; q
代码部分1 c' @# D  h7 g6 Z4 `
main.c
2 L! I( u3 H/ m  e

5 z: U/ S* z. j- l( E
  1. /* USER CODE BEGIN 2 */
    " g! K3 o, ~( h0 o& G2 {
  2.         HAL_TIM_Base_Start_IT(&htim3);
    . v/ B! |3 q, f, i" ]
  3.         HAL_TIM_Base_Start_IT(&htim2);
    ; r* e; o5 K/ T% c- q& m& i' O, Z. E, b
  4.   /* USER CODE END 2 */7 k" c5 U( l# c/ H
  5. /* USER CODE BEGIN WHILE */1 v4 ]: _' M6 x
  6.   while (1)) D4 x6 `6 C$ e8 l
  7.   {
    ( o3 B2 y+ j- y) g, i$ t

  8. 3 t: H- w6 _' Q! ^+ _  F  @+ C* _. s
  9.   /* USER CODE END WHILE */
    # l" m# d3 q( r" d
  10. 6 M; y) H0 C* c# ?. B6 r9 f8 V# ]% y
  11.   /* USER CODE BEGIN 3 */8 l  ]0 ~: U: s! r: w% a
  12.                 HAL_Delay(10000);
    0 d9 I. l" i9 w1 p
  13.                 HAL_TIM_Base_DeInit(&htim3);
    " A7 w: Q) s$ {3 ?0 l" [! C
  14.                
    $ M7 o0 M& c- ]- i! ?
  15.   }
    . w# z( Z" \$ A9 R
  16.   /* USER CODE END 3 */
复制代码
/ |: g; k! f1 U8 u/ @6 d1 \
stm32h7xx_it.c% @- B1 Y3 r* k, l. p3 o1 e
  1. /* USER CODE BEGIN 1 */$ l* {! O1 A: o* O7 \
  2. void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)" o) Y9 j1 y! t7 \) X4 e. H/ Q6 V
  3. {
    % h; c) s& q, T! s- e7 D  T, n
  4.         if(htim->Instance == TIM2)8 [) Y3 n0 |& W" [& p: @+ \
  5.                 HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_0);7 [# q! i6 c- n' w, k6 @; s  m
  6.         if(htim->Instance == TIM3)) o7 p" W3 `- {5 `6 ~
  7.                 HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_1);
    % C0 V, _' c5 ^0 `1 G
  8. }
    - X# J% A& L+ ^4 S9 S, [
  9. /* USER CODE END 1 */8 s  u5 F5 k0 r) M' K: f

  10. / \! w+ L! o6 S3 M6 l0 a, S4 c

  11. $ I/ U  l& D1 v  N3 M6 U
复制代码

4 v7 m1 o/ l& W$ j$ l" ~% @( h; c, M7 v! t( g
6 t( B! \9 ~* z" R- A$ o) G
收藏 评论0 发布时间:2021-12-30 12:42

举报

0个回答

所属标签

相似分享

官网相关资源

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