HAL之定时器

Posted 杰瑞鼠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HAL之定时器相关的知识,希望对你有一定的参考价值。

一首先得对定时器的时钟与系统时钟的关系搞清楚,基本定时器的时钟来自APB1最大36MHZ.(定时器倍频值为1)

二 在STM32CubeMX中打开外设功能,时钟源选择内部;然后在配置定时器3中的参数设定中设定参数:

预分频值:N-1

计数周期:M-1

NVIC设定中打开定时器中断

三:NVIC设定中指定其抢占优先级和子优先级。

四:在MDK的软件中需要做2个事情:

4.1启动定时器:HAL_TIM_Base_Start_IT(&htim3);

4.2 编写定时器回调函数:void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim),位置在main.c的后面或者timer.c中,因为别处已经用__WEAK修饰定义了,原则上位置随意。

五 Timer.c:

5.1 void MX_TIM3_Init(void)定时的基本设置

5.2 void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle):时钟使能和NVIC设置。

以上是关于HAL之定时器的主要内容,如果未能解决你的问题,请参考以下文章

使用HAL库开发STM32:Timer基础说明与定时功能使用

HAL库 定时器3 中断 翻转LED

HAL手动移植定时器文件报错解决方案

HAL手动移植定时器文件报错解决方案

HAL库与Cubemx系列|Systick-系统滴答定时器详解

基于HAL库的STM32定时器单脉冲控制