微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32 学习笔记_TIME定时器详解2

STM32 学习笔记_TIME定时器详解2

时间:11-26 来源:互联网 点击:

得到72MHz的时钟频率。能够使用更高的时钟频率,无疑提高了定时器的分辨率,这也正是设计这个倍频器的初衷。

TIM通用定时器配置步骤:

1.配置TIM时钟  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);2.定时器基本配置void TIM2_Configuration(void){TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;//  TIM_OCInitTypeDef  TIM_OCInitStructure ;TIM_DeInit(TIM2);                              //复位TIM2定时器TIM_TimeBaseStructure.TIM_Period = 5;        // 2.5ms     TIM_TimeBaseStructure.TIM_Prescaler = 36000;    // 分频36000       TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_div1;  // 时钟分频  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //计数方向向上计数TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);TIM_ClearFlag(TIM2, TIM_FLAG_Update);TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); TIM_Cmd(TIM2, ENABLE);       }TIM_Period设置了在下一个更新事件装入活动的自动重装载寄存器周期的值。它的取值必须在0x0000和0xFFFF之间。TIM_Prescaler设置了用来作为TIMx时钟频率除数的预分频值。它的取值必须在0x0000和0xFFFF之间。TIM_ClockDivision的作用是做一段延时,一般在特殊场合的时候会用到,可不关心。TIM_CounterMode选择了计数器模式。    TIM_CounterMode_Up    TIM向上计数模式    TIM_CounterMode_Down    TIM向下计数模式    TIM_CounterMode_CenterAligned1   TIM中央对齐模式1计数模式    TIM_CounterMode_CenterAligned2   TIM中央对齐模式2计数模式    TIM_CounterMode_CenterAligned3   TIM中央对齐模式3计数模式单片机时钟频率72MHz,APB1 二分频36MHz,故TIM2自动2倍频至72MHz,故定时器中断频率为72000000/36000/5=400Hz3.使能定时器中断TIM_Cmd(TIM2, ENABLE);4.配置NVIC。NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQChannel;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;NVIC_InitStructure.NVIC_IRQChannelSubPriority = 4;  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);5.写中断函数void TIM2_IRQHandler(void){......//中断处理}  

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top