STM32F103C8V6定时器应用

定时器的相关知识百度,这里主要提出配置函数


一.定时器的初始化

TIM2_Int_Init(u16 arr,u16 psc);

内部函数:

定时器和中断的结构体初始化

TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;

1.时钟初始化

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);

2.定义结构体初始化时钟参数

TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);

3.使能定时器中断(定时器2,向上计数,使能)

TIM_ITConfig(  
		TIM2, 
		TIM_IT_Update ,
		ENABLE  
	);
4.中断优先级设置

NVIC_Init(&NVIC_InitStructure);

5.使能定时器2外设

TIM_Cmd(TIM2, ENABLE);

二. 中断函数

TIM2_IRQHandler(void) 
1..获取中断状态
TIM_GetITStatus(TIM2, TIM_IT_Update) == SET;
2.请中断标志位

TIM_ClearITPendingBit(TIM2, TIM_IT_Update);  


主函数调用:

设置中断优先级分组

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
定时器的初始化

TIM2_Int_Init(4999,7199); //(4999+1)*(7199+1)/72000000




你可能感兴趣的:(#,STM32,定时器,单片机)