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

【经验分享】STM32L0系列之【TIM通用定时器】

[复制链接]
STMCU小助手 发布时间:2021-11-15 22:02
频率2.097Mhz , TIM2定时1s触发一次中断
. |: c- z( b! `7 ^9 V1 \1.TIM2初始化/ C7 n) M& @1 P4 U% @. B1 m
HAL_TIM_Base_Init>HAL_TIM_ConfigClockSource>HAL_TIMEx_MasterConfigSynchronization+ H4 H' t# H$ s* `( e' K3 A
- z+ c* P: y; Y. B5 ~6 z+ j
  1. /**
    / s1 o7 G9 b% `% }! Z
  2.   * @brief TIM2 Initialization Function+ Z! |: R1 w5 A! F
  3.   * @param None3 R- q+ w) C4 ~8 k. k/ }: n5 o, A
  4.   * @retval None6 \3 b9 M# n; j! W  z* g
  5.   */
    4 Q9 l0 Q! a, i% N. O3 h  j
  6. TIM_HandleTypeDef htim2;2 i1 M1 Y0 ^! W
  7. void MX_TIM2_Init(uint16_t time)% b  |5 h- Y+ c: W
  8. {6 l0 M: H, A& @# f: [% J4 i7 B
  9.   TIM_ClockConfigTypeDef sClockSourceConfig = {0};) h' V  n7 _- |$ D# E
  10.   TIM_MasterConfigTypeDef sMasterConfig = {0};5 B& E- ]/ P9 ?$ K9 A  ~% g

  11.   a; l9 k$ ?: F  l, W, [3 H' W8 y
  12.   htim2.Instance = TIM2;3 F( f. |5 k( C) h. V# n
  13.   htim2.Init.Prescaler = 2000;
    & `. D1 X+ |: S, ?
  14.   htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
    ' x: a  N4 z" e+ T
  15.   htim2.Init.Period = time - 1;1 C/ x% d2 i/ v7 j2 Z2 C
  16.   htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
    * o+ d! R  x4 C# V+ X% q
  17.   htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
    : l. Z4 M% `% G9 t! g4 z
  18.   if (HAL_TIM_Base_Init(&htim2) != HAL_OK)7 U" V/ Z1 z0 R* O3 i3 @& s2 ?5 `
  19.   {
    " h6 A; A1 A# U& j4 s2 K  W
  20.     Error_Handler();/ q& N5 y4 I5 g+ h4 ~* W# w7 D
  21.   }
    $ O& L8 S# `. p* S
  22.   sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
    , q- M) [7 N3 j0 s5 `
  23.   if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK)/ Z  O* G+ O& y8 ?% `
  24.   {
    - J$ R  J: Z6 r  U
  25.     Error_Handler();  q% h- H' x8 c  f+ n
  26.   }
    9 P( Z: q* C6 R3 W0 [( I
  27.   sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;* u! l; R: ?# G. ^& R
  28.   sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;: W8 ]2 X2 S3 ]' j4 j5 i8 W1 m
  29.   if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK)8 T& l# Q7 S4 K3 n/ n
  30.   {
    7 c! q3 d! r* Q& ?; R# i
  31.     Error_Handler();
    ' A+ [8 |6 T1 d0 p% I5 z
  32.   }9 g7 n" z" V# S- E8 d! M5 f
  33. }
复制代码
+ g; V0 ?, b/ y6 H
2.TIM2 中断处理函数$ K9 n9 x  ^6 ^" n5 I4 f
  1. /**
    5 [/ o: m/ u5 [$ J
  2.   * @brief This function handles TIM2 global interrupt.3 C7 o. \+ |; \8 M4 Y2 ^$ _$ o
  3.   */
    , h' H; B2 d; o; n
  4. void TIM2_IRQHandler(void)) N4 m3 [$ A" L( U' m
  5. {6 h" J0 i( f3 i9 S: h; |2 b9 t
  6.   HAL_TIM_IRQHandler(&htim2);
    6 o/ r; e! U) Z) R2 N
  7. }
复制代码
7 e3 M- M0 N) @- v) G. ~
3.主函数main

' E9 ~0 P: C7 O) I
  1. int main(void)
    ) g8 v+ a: R5 G! O
  2. {' L( I# P3 r+ r- @$ x9 B
  3.          HAL_Init();: j$ g) J! g8 e' l1 H" Y, Q4 N
  4.     /* Configure the system clock */
    : \$ N) \  k" c8 {: O1 E% B* d; \
  5.     SystemClock_Config();  F* i% C7 G! @% s
  6.     LED_Init();//LED初始化' w4 L  S2 L2 z: [+ O* @5 M  \
  7.         MX_TIM2_Init(1001); //1s一次
    ) {- Q* a( S3 z" }  p( s
  8.         HAL_TIM_Base_Stop_IT(&htim2);7 J+ {: K: m( y/ j1 i+ ^
  9.         HAL_TIM_Base_Start_IT(&htim2);
    1 r( H/ Z4 v1 D% [- I5 m5 d
  10. 4 ^( H% |6 A7 M% k+ C( v2 O
  11.         while(1)$ p7 H, X3 x* N7 B. z
  12.         {}
    2 [1 j& m: K9 i( ?* a; U
  13. }
复制代码

5 p% B3 P! I$ q3 K4.TIM中断回调处理函数9 c6 Z1 p* X1 U
  1. void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim), n) b/ A5 o4 d# g0 k2 _7 k
  2. {" I+ w) ?7 D" i8 \9 _( F' @/ o$ U
  3.     if(htim == &htim2)
    # N- p( s. L$ w/ W  B* C) t
  4.     {7 m% y/ a9 h/ Y6 _) O
  5.             HAL_GPIO_TogglePin(GPIOB,GPIO_PIN8);
    ) f8 p- g; r! l
  6.     }
    3 x2 H. F" e8 h& Q
  7. }
    - ?) k# n# ]0 R
复制代码
2 f2 T* W5 @3 z9 S' `) `
赞 收藏 评论0 发布时间:2021-11-15 22:02

举报

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