首页 > 编程学习 > stm32cubemx hal学习记录:TIMER定时

stm32cubemx hal学习记录:TIMER定时

发布时间:2022/11/6 12:13:54

一、实现的功能

实现1s定时中断

二、参数配置

1、配置RCC、SYS、USART1、时钟84MHz

2、一般单纯计时功能使用TIM6和TIM7

Prescaler(时钟预分频数):8400-1

Counter Mode(计数模式):Up(向上计数模式) 基本定时器只能是向上计数

Counter Period(自动重装载值):10000-1

auto-reload-preload(自动重装载):Enable(使能)

TRGO Parameters(触发输出):不使能 在定时器的定时时间到达的时候输出一个信号(如:定时器更新产生TRGO信号来触发ADC的同步转换)

Prescaler和Counter Period的计算:84MHz/8400/10000=1,即计时1s

3、设置中断

4、生成代码

三、代码编写

1、开启定时器及中断

HAL_TIM_Base_Start_IT(&htim6);

 2、添加中断回调函数

uint16_t a=0;
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
	if(htim->Instance==TIM6)
	{
		a++;
	}
}

 3、编译烧写程序,进行debug,发现a的数值1s加1。

四、需要背的

1、开启基本定时器及中断

HAL_TIM_Base_Start_IT(&htim6);

2、基本定时器中断回调函数

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
    if(htim->Instance==TIM6)
    {
        
    }
}

Copyright © 2010-2022 dgrt.cn 版权所有 |关于我们| 联系方式