码迷,mamicode.com
首页 > 其他好文 > 详细

STM32 通用T2、T3、T4、T5定时器详解

时间:2016-09-19 11:27:23      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:

定时器初始化配置

 1 void TIM3_Configuration(void)//1MS
 2 {
 3     TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
 4         
 5         TIM_DeInit(TIM3);//开一下时钟再关闭
 6         /* 设置TIM2CLK 为 72MHZ */
 7     RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3 , ENABLE);
 8     
 9        
10     /* 自动重装载寄存器周期的值(计数值) */
11     TIM_TimeBaseStructure.TIM_Period=1000-1;
12     
13     /* 累计 TIM_Period个频率后产生一个更新或者中断 */
14     TIM_TimeBaseStructure.TIM_Prescaler= 71;
15         TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;/* 时钟预分频数为72 */
16     TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; 
17     TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
18         
19     TIM_ClearFlag(TIM3, TIM_FLAG_Update);
20         TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);
21         TIM_ARRPreloadConfig(TIM3, ENABLE); 
22     TIM_Cmd(TIM3, ENABLE);                                                                        
23         
24 }

NVIC配置

void TIM3_NVIC_Configuration(void)
{
    NVIC_InitTypeDef NVIC_InitStructure; 
    
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);                                                      
    NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;      
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;    
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);
}

正常情况下是先配置好定时器参数设置,再配置NVIC中断-》使能中断。

STM32 通用T2、T3、T4、T5定时器详解

标签:

原文地址:http://www.cnblogs.com/prayer521/p/5884431.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!