stm32f103如何设置定时器5ms
时间: 2023-07-04 18:10:30 浏览: 51
在STM32F103系列中,同样可以使用定时器来实现定时功能。要设置一个5ms的定时器,可以按照以下步骤进行操作:
1. 选择一个可用的定时器。在STM32F103中,通用定时器TIM2-TIM5均可用于定时功能,选择其中一个即可。
2. 配置定时器的时钟源和分频系数。定时器的时钟源可以选择内部时钟源(如APB1时钟)或外部时钟源(如外部晶振),分频系数可以根据需要进行设置,以得到需要的计数频率。
3. 配置定时器的自动重装载寄存器ARR和预分频器寄存器PSC。ARR用于设置定时器的计数上限,PSC用于设置定时器的计数频率。
4. 配置定时器的工作模式和触发源。可以选择向上计数模式,向下计数模式,或者向上/向下计数模式。触发源可以选择内部触发或外部触发。
5. 启动定时器。在定时器配置完成后,启动定时器即可开始计时。
下面是一份示例代码,用于设置一个5ms的定时器:
```c
#include "stm32f10x.h"
void TIM_Configuration(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
TIM_TimeBaseInitStructure.TIM_Prescaler = 7200 - 1;
TIM_TimeBaseInitStructure.TIM_Period = 500 - 1;
TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;
TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseInitStructure);
TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
TIM_Cmd(TIM2, ENABLE);
}
```
这段代码使用了TIM2定时器,设置了分频系数为7200-1,预分频器为500-1,以得到5ms的计数频率。同时,还启用了定时器的中断功能,在定时器计满后触发中断。