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

STM32CuBeMX(HAL库)实现定时器中断(STM32F407ZGT6)

[复制链接]
攻城狮Melo 发布时间:2022-11-9 14:54
STM32基本定时器具有以下功能:
$ w/ k3 V* E, y16位向上、向下、向上/下自动装载计数器。+ D4 _% P5 g1 ~. M, H  m

" m4 f1 ^  c3 G: d6 C1 `( k2 |16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65535之间的任意数值。! b" E% D- i2 a9 v% l- R- c# Z; u

- q6 j: {/ {( N9 D+ h9 Z; `定时触发ADC或者DAC以达到固定频率采用或者还原的目的(部分基本定时器具有此功能)。
8 @/ i# B& {& N' z1 s
/ U8 w3 L+ ?7 e' e% A* `STM32通用定时器具有以下功能:
  \9 L5 f6 J* t8 p
' e4 o3 h+ g& s1 ?: }/ g7 e+ ~
16位向上、向下、向上/下自动装载计数器。/ B, @% p9 x" Y2 J
  ?5 b* j8 u6 N8 k: m
16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65535之间的任意数值。
  T) I% W+ ~6 D2 e. T' x
0 ^! M$ [! s6 y+ A4 个独立通道(TIMx_CH1~4)可以用作:2 Z9 U3 ]1 s' ^7 F0 c# ~/ j  J9 n
测量输入信号的脉冲长度( 输入捕获)。
( X' G3 `8 P5 l$ g, v& m3 r3 x0 y0 y输出比较。
3 Y! j6 R6 `* m单脉冲模式输出。
/ z$ e: h4 g1 |6 dPWM输出(边缘或中间对齐模式)。" p2 \) R" l' ~
6 e. u3 W4 o9 y7 X5 h5 C
支持针对定位的增量(正交)编码器和霍尔传感器电路。  B3 k+ k  e& }; T8 {2 J
* a$ H! B2 q1 {4 P
如下事件发生时产生中断/DMA:
8 c+ x! i8 \2 S更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内 部/外部触发)1 o8 e' b7 l) o& F; E. _
触发事件(计数器启动、停止、初始化或者由内部/外部触发计数)
" L) n& R, ^8 u, |输入捕获
8 Z7 X" d- q1 W( U& d输出比较0 ?# V: B/ f& s" V, n; @# y: `

: O% u3 E4 G% t9 U8 a9 xSTM32高级定时器具有以下功能:
; b  G( f8 ^/ W4 g1 A1 m还具有控制交直流电动机所有的功能。4 d- y2 Y( L1 O. r7 R2 ~- `
0 X' B9 j' s$ y3 B
输出6路互补带死区的信号,刹车功能等等。8 a# M( ~. v4 t: n2 f/ w8 P3 o
3 o% H9 t5 h( U1 T! P" ~4 t
还具有一般定时器的功能。/ Z: x3 r" r% W

1 F% E$ c1 r  j- U5 y0 N
" ~/ P! j5 L, x$ h" y+ }时钟树配置:, _+ q" C+ W6 ~8 T7 F

8 v; G9 @; N5 N9 s+ T 13cd2092350e4e01ae0babcfa4c96704.png   ^# B# P  Q  O: F
; M9 D( |' g1 v% N
配置GPIO:  E6 D$ ?% E1 e, x% a
+ w# [- Z  r( T5 @
7419852b2189468a95f479243560bad4.png 1 M, e) J9 \0 a- [

6 P" r0 u! R! V- A/ Q/ O6 { PE3和PE4是两个LED灯。
' e3 |5 \2 P! N; r% M9 k+ p6 n
5 s1 t/ |; R& N8 n* K配置定时器:
  S! t( F4 U. h1 j5 d! b
" |# t7 |/ W8 { 60145361d4d44487be40c9ffdd8917e6.png
; V. Y# E4 s) f+ X* C' L! T
! l9 w% n  E9 m3 n1 f! | 点点鼠标CuBe就会自己配置相应参数,这是CuBe的强大的地方,节省很多时间!% t# Z4 `0 p- Y' v# J! N
3 g  I, G) O( D: G4 N* W& w
7303804503f247da941f1b507cfd52e3.png : z* T: U. c. W# U/ G# [; K

/ f. ]2 {, j' l( I其中参数含义分别为:5 K/ F* D% b% o$ t; S9 |6 d/ W
Prescaler 分频系数
( f* P/ W8 X8 D( ?1 c3 E+ GCounter Mode 计数模式(分为向上和向下)* M& D) H5 P1 f/ a( I/ d$ }) A  M
Count Period 计数周期1 U$ J) _& L; c" b/ K( E
auto-reload preload 自动重装载
% l5 U8 o2 _8 v" K- qTRGO Event Selection 触发事件
9 [$ Y8 u8 k6 `* m ac722732fd054eafbb2ad77cba64f47f.png " C1 @' ?; z( ~- w6 z# ?! r& n" ~& |+ t0 ~

" l2 R4 z1 K; k! c# c7 {  n其中时间溢出公式为:2 P) @- n( \4 n: D3 R$ N
5 B- q6 {$ f' u, J- K9 `
其他参数无须修改,用到再查资料。
& X% t+ O- C( n9 A( k
% c% b" z8 w( l0 _ d5607da88c6b4430ae8669caef01bfd4.png # T  K& _# a4 l" w4 h
+ q) v2 |6 Q& y1 K9 Q
6 T  v- O% A& p/ b/ B4 @& g. S
CuBe的配置就这样完成了,接下来进入MDK了。9 |2 J/ F# g( t. u# {# M0 l, f0 ?- t
( \* q% {6 I. D
首先是启动驱动器:3 a/ {& L) [$ C4 W5 Y
! m6 p( j/ f" S
这个过程想要手动启动定时器,系统才能进入定时器中断(这个放在main函数开头的地方)
/ _8 i4 f+ O+ x7 t( p( p
+ ]' G. A+ ~' S3 X+ C5 s5 t
  1. HAL_TIM_Base_Start_IT(&htim6);
复制代码

$ ~. t# C+ V* Z& }注意,如果使用HAL_TIM_Base_Start(&htim6);函数打开定时器,则定时器会启动,但不会进入定时器中断。
8 G9 F% h- r( B' C
, U+ P6 N9 ]0 [6 m. n主函数中就不需要再编写其他的代码了。
& O& }$ m. z) k/ T1 C) c9 P  q2 ?: `& o4 O  c# u9 u% Z/ }$ k
然后我们来到stm32f4××_it.c文件,找到TIM6中断,在里面添加自己的代码即可。我这里就只添加了这个:' L( w- j& I* w8 I+ o
# Q- [" ^3 L: [9 f/ b& y2 [
db5a88623f22487fb8a8f40ff1033a0a.png
3 g0 d0 s. J  d" `3 Q; O7 B, b
. Y5 ~; _/ \1 u
  1.   HAL_GPIO_TogglePin(GPIOE,GPIO_PIN_3);
复制代码

3 m7 O3 c1 T9 x* o7 i* J, S然后我代码的效果就是PE3每隔500ms翻转一次,PE4保持常亮。大家记得还要配置debug里面的东西,之后就是编译、下载程序了。具体参考下面:
9 K7 `& I0 s2 B3 B: w) `, A( b  e9 q6 v* x+ a
0cc9804b4a1d490c8b389092214c77e3.png
5 V5 t2 w& s6 Q/ ^  F7 E  M7 R" Q9 L+ N
9569cbb7f1894e7d83bf8d15d39425d6.png ) i/ i) T- s5 e9 n1 S( k3 c
( W+ C6 u: y" _9 H1 z; D+ U" M, W5 h
————————————————
$ O: Y9 H1 N4 C- @版权声明:不会创建对象
2 M- K; Y0 n  k' e: s7 k& J" P, z6 \( a' [$ L
) A( n# ~8 P% i- m& q$ b4 Q
收藏 评论0 发布时间:2022-11-9 14:54

举报

0个回答

所属标签

相似分享

官网相关资源

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