TIM基本定时器

基本定时器功能 基本定时器主要两个功能,第一就是基本定时功能,生成时基,第二就是专门用于驱动数模转换器(DAC)。
基本定时器代码 标准库函数对定时器外设建立了四个初始化结构体,基本定时器只用到其中一个即TIM_TimeBaseInitTypeDef,该结构体成员用于设置定时器基本工作参数,并由定时器基本初始化配置函数 TIM_TimeBaseInit 调用。
模式配置函数

void TIM_Mode_Config(void) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; // 开启 TIMx_CLK,x[6,7] RCC_APB1PeriphClockCmd(BASIC_TIM_CLK, ENABLE); /* 累计 TIM_Period 个后产生一个更新或者中断*/ //当定时器从 0 计数到 4999,即为 5000 次,为一个定时周期 TIM_TimeBaseStructure.TIM_Period = 5000-1; //定时器时钟源 TIMxCLK = 2 * PCLK1 // PCLK1 = HCLK / 4 // => TIMxCLK=HCLK/2=SystemCoreClock/2=90MHz // 设定定时器频率为=TIMxCLK/(TIM_Prescaler+1)=10000Hz TIM_TimeBaseStructure.TIM_Prescaler = 9000-1; // 初始化定时器 TIMx, x[2,3,4,5] TIM_TimeBaseInit(BASIC_TIM, &TIM_TimeBaseStructure); // 清除定时器更新中断标志位 TIM_ClearFlag(BASIC_TIM, TIM_FLAG_Update); // 开启定时器更新中断 TIM_ITConfig(BASIC_TIM,TIM_IT_Update,ENABLE); // 使能定时器 TIM_Cmd(BASIC_TIM, ENABLE); }

中断函数
void TIM6_DAC_IRQHandler(void)

查看与清除中断标志位函数
TIM_ClearITPendingBit(BASIC_TIM , TIM_IT_Update); TIM_GetITStatus( BASIC_TIM, TIM_IT_Update)

定时功能编程总结
【TIM基本定时器】根据定时间配置好模式配置函数,使能nvic中断请求,进入中断函数的编写,在中断函数中写好中断处理内容,最后清0标志。

    推荐阅读