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

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

[复制链接]
STMCU小助手 发布时间:2021-12-30 12:42
功能简述8 y8 A* M* v$ a; S
主模式TIM2的中断作为从模式TIM3的时钟输入8 R. P0 l* e- e$ }2 i, I  R0 n
(级联定时器)
) q0 `7 W  x- k2 U红灯亮6灭5 频率1hz
3 S5 p4 o8 \6 M9 g; Z0 t/ ?绿灯亮3灭3 频率0.5hz# H5 x9 `5 W% _8 n, c  O9 u

2 t5 m" ~- g- H$ gSTM32CubeMX配置: M9 R) u" P: |
STM32CubeMX版本:4.27.0
8 E  e. ]7 ]5 s+ U% W$ Q配置流程:  i0 x% `+ X6 b! ~1 D" l( m; d, _
Pinout界面选择并开启需要的LED控制引脚
8 _7 m* c- A# q$ U4 {5 M8 MClock Configuration配置时钟树
: y4 @6 q  X: a- z4 g! t# UConfiguration界面配置System) m/ R3 i3 C& c0 }2 k
生成工程' u9 ~6 V9 Q+ J( X% j$ R* C

6 s' ~6 y# X8 F. `9 p, \Pinout配置9 N9 ?& p$ Z  v6 O3 I% G# W) t9 A
$ i% ~; m' b7 d
20181114183530542.png
, y- g- V0 V9 c4 U

5 z; ]0 \( S) I  rLED输出PIN配置,TIM2,TIM3的基本配置
( I6 X$ c. @& p) w2 ?: [. F4 b7 |: c% m3 `. c( r  L
Clock Configuration配置

( W+ z! X2 }+ P* ]5 G  u* ]  L/ {" L  J. l: J" L5 v: j
20181114183747397.png

2 n. d0 y4 t( a8 v7 ]$ }2 a* g
& d6 h$ b$ l! F4 j, Q开启系统时钟,设置TIM2、TIM3时钟(APB1)
* a, g! x) A  z2 X- C
7 y3 f. c) {( m8 a$ J7 ~) a+ _Configuration

. ]5 F9 ?1 V* B% q. f
20181114183850446.png

/ U3 ]: ]. w8 O3 w左侧主要系统功能的开启,或中间软件层功能的开启(如:RTOS、JPEG解码器,文件系统等), O9 {7 B: L/ M) M2 P! c2 Z
右侧是系统及外设模块的具体配置
( R% e! Y5 w% d9 g7 k
* v  P  q+ F( d) s$ dGPIO
4 w6 h( f: T" w2 q& j1 i+ U
1 ]# @) S! c$ y8 ]8 n8 p# R$ k' r* O
20181114183903908.png

% P1 f. h% f* }4 z' _9 b6 f: e1 h5 V; U# Z2 \; q
输出配置
# d) y& P' _0 _. @- Q
1 J8 O0 D0 ~4 A3 y' }/ jTIM3
4 j" y* q; p7 k' n( R+ F( t( x
8 e* {2 O0 K0 }& ~
20181114190455873.png
' _# I" a8 q  Y( c: w: P5 ^" F( v4 ~% F
" i7 _# {4 d2 d% d
周期=((1+TIM_Prescaler )/时钟)*(1+TIM_Period )/ C3 f$ J- v6 O& F5 o$ V
分频:624993 E* ~2 i# ^& M; y3 H! F
计数模式:向上计数% N/ ^6 x/ T/ g1 [
重装值:991 w- U/ x! S0 Z. L
时钟分割:0 (数字滤波器相关)
9 x6 R1 m2 n3 `4 C' Y. x自动重装:开启
  F8 |( t+ I: U) f! @) X/ d% wMSM:关闭(开启将在该定时器使能的同时TRGO发出信号)
( h3 C+ H' ~8 Q$ P, r触发事件选择:更新+ l8 W! I- S: c" {4 f

3 v8 k! _7 c6 w* |$ A
20181114191227123.png
3 R2 q+ i+ R  e5 C" y8 H2 P
' i  F4 B7 F3 \' \' `) {' D& L
20181114184015462.png
* B$ t% {& C+ A! q) H) h9 w
+ i: D% C5 t+ S4 B" L4 n+ D
TIM23 o6 H) U# v6 _% c$ L& P. K" ~% }

$ O8 O* A3 }# w2 D+ \
20181114183942334.png
* h/ L$ e! @" g( q
" j9 E4 h' C5 D+ [5 S8 s  ?! P# n
周期=((1+TIM_Prescaler )/时钟)*(1+TIM_Period )
! K* S8 ?$ E3 e7 e; a分频:0
' n5 ~$ ~- K, ~$ {. @) W2 v计数模式:向上计数
( b4 k2 J; L# f- I/ g重装值:1
7 @' `% l: O0 c5 Z8 ?7 J时钟分割:0 (数字滤波器相关)7 f  n0 f8 H3 E- Z, Q1 |
自动重装:开启
, b% s9 ]( L/ [# A7 ?, h0 p; r由于TIM2作为从定时器,它的时钟实际是TIM3的中断信号
5 R' q0 L. k; R& o' @
; Z2 u, W/ [' l% Z; c
20181114183953321.png
& }3 W/ i0 S8 F# r$ L5 z; u

5 l) p, D+ d' G) a9 u; B- `+ ~. |* hNVIC9 O' x0 [2 W/ y1 a' v

/ ~# o) R% J6 C6 x( o' |$ V
20181114184036691.png

1 P- O+ H/ }3 @9 K' R% O# C$ C# o  P  ?! U$ V( V
20181114184042347.png
' f5 _" x* |% a5 K
6 K% i7 T% y8 \9 t
代码部分  C: z+ A5 U7 e/ P
main.c
- G7 ]+ e) d  v6 A+ Q

6 F9 x: ]' d8 }3 S8 C
  1. /* USER CODE BEGIN 2 */% s  Z. N4 D  Q" |7 T5 X
  2.         HAL_TIM_Base_Start_IT(&htim3);
    4 a+ d  K" b( c0 B
  3.         HAL_TIM_Base_Start_IT(&htim2);
    + Q8 Y: m$ z- D' p( V
  4.   /* USER CODE END 2 */
    # L6 |/ g# h6 o9 ~* S* R- {- h
  5. /* USER CODE BEGIN WHILE */
    9 h2 h: j" W1 I
  6.   while (1)3 ~' L/ W3 m- T& g/ e1 S
  7.   {. f. x4 ?- a3 |7 [1 x9 [% @

  8. ! }- P- [+ K5 N" T
  9.   /* USER CODE END WHILE */, L4 _! V6 J6 R8 S/ Q
  10. . n* n; {: {$ m& `- a
  11.   /* USER CODE BEGIN 3 */; p) C, ?8 m# J) U
  12.                 HAL_Delay(10000);, V8 Z' \: P0 d8 v
  13.                 HAL_TIM_Base_DeInit(&htim3);3 _4 s$ u) v2 T
  14.                
    ( e! q- U2 {+ R/ u1 X
  15.   }1 h4 e* }/ e8 t4 {  f
  16.   /* USER CODE END 3 */
复制代码

/ k5 A" G2 {4 L& I. Tstm32h7xx_it.c3 h/ X  z5 ]: Y. i
  1. /* USER CODE BEGIN 1 */) D" ^" ]( {2 D. ?# @& ?
  2. void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
    6 @3 ~9 b# ]* A' X
  3. {4 \% {; @  }& D1 F) N
  4.         if(htim->Instance == TIM2)
    % T& h) C8 o3 y2 K/ U
  5.                 HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_0);# a$ D8 `% u' N, i9 j
  6.         if(htim->Instance == TIM3). k( W0 E$ Q: p
  7.                 HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_1);. I7 n  `  |' M' @2 t/ [
  8. }
    , {. d8 C. d* s+ j2 ]
  9. /* USER CODE END 1 */
    " ?6 c+ C7 I; W/ E0 J
  10. 5 T5 ~6 ]; q: I+ }9 K# n# `' R7 ]

  11. ; }& d) G0 B) I9 ]* H
复制代码
) W! y& `0 v$ f$ U# Y
5 x- t+ W2 X% i0 u1 _
3 |+ s" w; D, m! o, v
赞 收藏 评论0 发布时间:2021-12-30 12:42

举报

0个回答

所属标签

相似技术帖

官网相关资源

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