STM32实战项目-基本定时器
创始人
2024-06-01 14:54:22

前言:

通过基本定时器TIM6,让三个LED灯每间隔1s闪烁一次。

目录

1.基本定时器参数配置

1.1框图分析

1.2参数配置

2.软件程序 

2.1整体框架 

2.2定时器结构体 

2.3定时器回调函数



1.基本定时器参数配置

1.1框图分析

TIM6作为基本定时器 它是挂载在APB1总线上的,框图如下所示:

 

时钟树的框图如下

 

 

1.2参数配置

功能介绍:

  我们如果想要配置 5ms的进入中断处理一次的话,如果我们不进行分频,对于72M的时钟频率大概是0.00几微妙就要检查一次,而且频率太高,所以我们要进行分频 分频后得到 CK-CNT如果我们预期想要得到1M的话,那就是 \frac{72M}{X+1}  其中x作为16位的时钟系数那他取值范围就是 1~65536之间的数值,我们想要得到 1ms 也就是 \frac{1}{1M}可以推出X为71 那x + 1 就是72也就是72M分频 。

对于CNT计数器,我们想要得到5ms的时钟 即 \frac{1}{1M}  * CNT = 5ms = \frac{1}{200} 秒 可以推出 CNT 为50000。至此TIM时钟方面的配置算是完成了。框图如下:

总结:快速计算公式

说明:初始化基本定时器6,自动重载,5ms中断一次。

计算如下:

1、定时器时钟 = 72MHz

2、计算时钟 = 72MHz/(71+1) = 1MHz

3、定时周期 = ((1/1000000Hz)*5000)s = (5/1000)s = 5ms

 

cubemax参数配置 

中断优先级介绍:

 

 

首先配置TIM6的优先级,此次实验只有一个时钟中断,所以我们将其抢占优先级设置成2就行,响应随便。如下图所示:

中断时间数配置:

,启动使能NVIC之后,完全按照我们计算好的参数去设置,分频系数。计数器 就能达到我们想要的5ms。

 

 

2.软件程序 

2.1整体框架 

 

2.2定时器结构体 

typedef enum
{TIMER0_10mS  	= (uint16_t)2,TIMER0_50mS  	= (uint16_t)10,TIMER0_100mS	= (uint16_t)20,TIMER0_200mS	= (uint16_t)40,TIMER0_500mS	= (uint16_t)100,TIMER0_1S     = (uint16_t)200,TIMER0_2S     = (uint16_t)400,TIMER0_3S     = (uint16_t)600,TIMER0_5S     = (uint16_t)1000,TIMER0_10S    = (uint16_t)2000,TIMER0_3min   = (uint16_t)36000,
}TIMER0_Value_t;//定义结构体类型
typedef struct
{uint16_t volatile usMCU_Run_Timer;  //系统运行定时器void (*Timer6_Start_IT)(void);      //定时器6以中断模式启动
} Timer6_t;/* extern variables-----------------------------------------------------------*/
extern Timer6_t  Timer6;

2.3定时器回调函数

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{if(htim->Instance == htim6.Instance){//程序支持运行,led间隔1s闪烁if(++Timer6.usMCU_Run_Timer >= TIMER0_1S){Timer6.usMCU_Run_Timer = 0;LED.LED_Flip(LED1);LED.LED_Flip(LED2);LED.LED_Flip(LED3);}}
}

 

 

 

 

 

相关内容

热门资讯

中航光电取得模块风冷机箱相关专... 6月23日消息,国家知识产权局信息显示,中航光电科技股份有限公司申请一项名为“一种模块组合式密闭风冷...
大族数控申请激光粗化法相关专利... 6月23日消息,国家知识产权局信息显示,深圳市大族数控科技股份有限公司申请一项名为“激光粗化方法、设...
航天信息取得粮库数据处理相关专... 6月23日消息,国家知识产权局信息显示,航天信息股份有限公司申请一项名为“基于张量的粮库数据处理方法...
长芯博创股价涨3.17%,宏利... 6月23日,长芯博创涨3.17%,截至发稿,报307.54元/股,成交26.50亿元,换手率3.30...
东方创业股价涨3.23%,汇添... 6月23日,东方创业涨3.23%,截至发稿,报6.71元/股,成交2890.51万元,换手率0.51...