【NUCLEO-L4R5ZI开发板试用体验】+基础定时器和定时器中断处理

  • shiyu
  • LV3工程师
  • |      2018-08-20 15:05:31
  • 浏览量 1574
  • 回复:0
本帖最后由 shiyu 于 2018-8-20 15:08 编辑 在STM32中定时器无意是一个非常重要的环节,定时器可以实现很多功能,从用户参考手册也可以看出来,定时器不仅仅是定时,计数的功能,还有其它比如输入捕获,输出比较,生成PWM,单脉冲输出等等,今天来实现一个基础定时器实现定时500ms然后触发定时器溢出中断,在定时器中断里面翻转LED灯:):)。 1、基础定时器的时钟框图,红色框起来的要重点理解。这里其实就是理解三个寄存器:Counter Register (TIMx_CNT),Prescaler Register (TIMx_PSC),Auto-Reload Register (TIMx_ARR) 2、定时钟器的时钟来源是内部时钟,这个时候就要看上篇写的系统时钟图了,如下图所示 3、定时器的初始化设置,这里我选用的是定时器7,即TIM7,实现对上面三个参数和向上计数模式的设置,如下: 4、定时器中断使能,并设置中断优先级和中断处理函数,这里面的函数名都是HAL库固定好的,不能更改,要不然就进不了中断处理,如下: 5、最终效果实现,当定时器计满500ms后,产生溢出并发生更新事件,此时进入定时器中断函数里面,对LED(蓝色)灯进行翻转处理,这样就会看到LED灯进行500ms闪烁变换。 OK,基础定时器的使用和定时器中断就写到这里,后续继续:):)。。。
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子