前言:
最近在调试STM32L152芯片的定时器功能,本文总结下STM32L152芯片基本定时器的使用方法。
硬件平台:STM32L152
软件平台:keil v5+cubeMX
函数库:HAL库
基本定时器使用方法
下面简单讲述一下STM32L152的定时器使用步骤。
1.使用CubeMX对定时器进行配置,如定时器预分频值,计数值,定时器的触发方式等。
2.下面详细解析相关的代码;
TIM_HandleTypeDef htim3;
void TIM3_Init(void)
{
TIM_ClockConfigTypeDef sClockSourceConfig;
TIM_MasterConfigTypeDef sMasterConfig;
htim3.Instance = TIM3;
htim3.Init.Prescaler = 32000-1;//预分频值,本例使用外部8MHz,倍频后是32M,32000分频后为1kHz,预分频值为32000-1,计算公式为:CK_INT/(TIM_Perscaler+1)
htim3.Init.CounterMode = TIM_COUNTERMODE_UP; //上升计数
htim3.Init.Period = 1000-1;//计数值,1kHz即计数1000为1s,本例定时1s,计数值为1000-1
htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
if (HAL_TIM_Base_Init(&htim3) != HAL_OK)
{
_Error_Handler(__FILE__, __LINE__);