欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

(HAL库学习6)STM32CubeMX HAL库 定时器的使用

程序员文章站 2022-06-08 22:56:25
...

这一篇的内容为使用stm32的定时器基本功能,也就是定时多长时间产生什么样的动作,关于定时器别的高级用法(pwm,捕获等)在后面几篇博文中会一一带来

第一步:老规矩,在CubeMX中配置定时器

(HAL库学习6)STM32CubeMX HAL库 定时器的使用

这个是我的时钟树
(HAL库学习6)STM32CubeMX HAL库 定时器的使用
上面就是一个定时器的设置,选择模式那里默认的是up就是向上计数哈,其他东西基本没有的什么变动的,使用默认的就好,具体代表什么自己可以百度,最最最重要的理解上面那个分频,这个非常重要,根据自己的单片机进行分频,才能找到正确的时间节拍,才能把时间定 “准”。

第二步:在中断管理器中设置定时器的中断

(HAL库学习6)STM32CubeMX HAL库 定时器的使用
搞定了CubeMX端的配置,点击生成工程,然后进入keil环境,下面我给大家介绍一下这个定时器基本应用在工程中的核心。

第三步:keil工程HAL库使用定时器

这是main.c里面的定时器初始化与使能开启
(HAL库学习6)STM32CubeMX HAL库 定时器的使用
这是tim.c里面的定时器初始化
(HAL库学习6)STM32CubeMX HAL库 定时器的使用
上面就是keil默认生成的(那个定时器的开启要自己添加哈)那句代码我贴在下面

HAL_TIM_Base_Start_IT(&htim4);  //前面初始化设置了time4定时器,这里是使能

第四步:添加定时器中断的回调函数

关于回调函数的概念和外部中断回调的概念差不多,可以借鉴上一篇外部中断的博文,我这里直接写好给大家看看,然后代码贴在下面,这个代码添加在main.c后面。
(HAL库学习6)STM32CubeMX HAL库 定时器的使用
这就是对定时器回调函数的添加,和上一篇的外部中断添加类似哈,再一次强调代码写在begin和end之间,到这里定时器的基本应用就弄好了,改定时时间就改那个计数值就行了。

最后

写了好几篇博文了,一个粉丝和评论都没有,有真人看到能回我一个评论吗,也可以给我提提意见,我博文写的有没有什么问题