STM32
直播中

h1654155275.5753

7年用户 1100经验值
私信 关注
[问答]

关于STM32对HAL库的定时器中断你想知道都在这

关于STM32对HAL库的定时器中断你想知道都在这

回帖(1)

黄芙蓉

2021-11-16 09:48:00
从串口中断,到外部中断再到现在的定时器中断,越来越感觉HAL库应用比较好用,虽然一开始理解上面有点怪,但是网上查询一下就能够学会。
  定时器中断分为两个重点,1、在应用CUBEMX时配置定时器的分频数以及时钟树设置  2、生成初始化代码后添加的相关函数
   




   
   
   
  auto-reload 自动重装值,使能与否都可以,因为计数器溢出后会自动重装。
   
  1.在CUBEMX中的时钟树很好去理解,有时间一定要重新整理一下时钟树的构成和作用。
  定时器的定时时间跟分频数有关,定时器频率为 f = 72M / Prescaler / Period    定时时间T = 1 / f
  Prescaler 和Period一般设为某值-1,因为计数器会溢出一个的原因。
  72M需要看对应IO口处于哪个时钟线上,在cubemx上可以查看,在通过时钟树查看频率。M为6个0
   
  2.完成初始化代码后,要开启中断程序,并且重新定义中断回调函数。
  




   
   这个函数就是开启定时器中断的函数,一开始我漏了IT,只是开启了定时器,导致定时器进不去中断里。。。
  然后重新定义定时器回调函数
  




   
   一定要进行判断,判断的方法也是固定的如图。因为这个回调函数,是所有定时器共用的,所以要判断是哪个定时器执行的中断,否则会乱。
   
  定时器中断就成功了。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分