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

STM32定时器配置

[复制链接]
攻城狮Melo 发布时间:2022-11-13 17:20
前言
7 h/ E2 O" @1 u1 E' ^8 _用FreeRTOS内核来检测CPU使用率,需要用一个定时器来记录单片机运行时间。(STM32F407通用定时器标准库开发)1 W. a+ ?" k4 q1 a4 O& j
8 r8 H" E9 G" T4 M
一、如何配置定时器频率?
6 I+ H: c, q4 U  ~" ^( c1.芯片手册中获取关键信息( L) L# e5 t6 f/ n8 D# f  f
我的大致理解是:从RCC获取TIMxCLK频率的脉冲,在经过控制器,再通过预分频器控制CNT COUNTER递增等动作。2 z" Z0 t; O: G5 ~

+ n% |6 U  l% K f12f7c8adb7f48cc9d1bfde42243dfb7.png & g6 W- E7 H7 B; x4 t/ R+ X
3 V9 l! ]! v$ i/ y
5043673310214eca871770102c75dbf7.png , q$ w2 I, j2 |" {
6 T2 }# H3 G: b5 s, w) W! Z+ ]
在手册里的时钟树里找到了APB总线给定时器提供时钟,我的F407用的TIM6,在APB1总线上(查手册系统架构可看)168Mhz的主频已经被4分频,, F6 w" y! Q" c5 b1 z$ |4 y

2 w# N+ {9 x4 ^$ Q% z% `! V: R 22d0b4ec9c494db8a4d0c1cab8128bd4.png 4 z7 z8 U* S4 V8 x0 S" |% K

% i3 t/ F. ~4 U% k! M可知:现在TIMxCLK为84Mhz,我们定时器要获得20000hz即可。再配置预分频器即可。
( }. u" t& _; a  d+ g% B; x) `. {下面开始操作起来
" s1 j% S! U+ e: a  }+ C
0 S! J1 x) V% O- P, `4 z7 S2.用标准库配置定时器3 ^: Y& n5 a6 S1 h( u, e: n
代码如下(示例):
  1. TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;# j% u$ X8 G7 Z) i# L

  2. 9 S" N6 M# ~; j
  3. // 开启TIMx_CLK7 w3 S' q% B+ A* |3 a  I( |4 j
  4. RCC_APB1PeriphClockCmd(BASIC_TIM_CLK, ENABLE);
    * E1 d* a' ?& n- d

  5. 9 o, l6 I3 e' @- I3 I2 F( L3 P
  6. /* 累计 TIM_Period个后产生一个更新或者中断*/                / e9 P3 q3 J, v: c
  7. //当定时器从0计数到19,即为20次,为一个定时周期
    4 s- P3 D7 X' o3 S3 u
  8. TIM_TimeBaseStructure.TIM_Period = 20-1;         v7 W, K& o! x" Z
  9. 4 k: P2 Z6 Y% X5 O" J
  10. //定时器时钟源TIMxCLK = APB2CLK/4*2 = 84Mhz
    ! C. m& G" c  `" s
  11. // 设定定时器频率为=TIMxCLK/(TIM_Prescaler+1)=1MHz
      \* o) A9 `+ M1 B5 x
  12. TIM_TimeBaseStructure.TIM_Prescaler = 84-1;       
    ! Z, i& n3 W7 V! O: m
  13. . a, x9 u! u- p/ U
  14. // 初始化定时器TIMx. V4 p- W' O) J4 `) U) l( T1 H
  15. TIM_TimeBaseInit(BASIC_TIM, &TIM_TimeBaseStructure);
复制代码

, c3 T3 Y9 k, G' q# Q5 g4 {这样就实现了定时器 20000Hz 中断。(中断部分未上传)
1 `  z. A9 K3 p0 J————————————————5 A, v6 _% R$ _7 _( w
版权声明:梦想当极客的小芦
" B4 ?2 r  o: g. f% S9 w; W5 ]1 R9 r' @, v$ k

# C: T, [$ B# t) p* |* F
收藏 评论0 发布时间:2022-11-13 17:20

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版