專注電子技術學習與研究
當前位置:單片機教程網 >> STM32 >> 瀏覽文章

ARM 定時器計算公式

作者:星星and宇   來源:不詳   點擊數(shù):  更新時間:2014年08月03日   【字體:

 static void TIM4_Init(void)//定時0.001s鐘中斷一次

{
  TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
 
  /* TIM5 clock enable */
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5, ENABLE);
  
  /* ---------------------------------------------------------------
    TIM4 Configuration: Output Compare Timing Mode:
    TIM2CLK = 36 MHz, Prescaler = 7200, TIM2 counter clock = 7.2 MHz
  --------------------------------------------------------------- */
 
  /* Time base configuration */
  //這個就是自動裝載的計數(shù)值,由于計數(shù)是從0開始的,計數(shù)10000次后為9999
  TIM_TimeBaseStructure.TIM_Period = (2000 - 1);
  // 這個就是預分頻系數(shù),當由于為0時表示不分頻所以要減1
  TIM_TimeBaseStructure.TIM_Prescaler = (72 - 1);
  // 高級應用本次不涉及。定義在定時器時鐘(CK_INT)頻率與數(shù)字濾波器(ETR,TIx)
  // 使用的采樣頻率之間的分頻比例
  TIM_TimeBaseStructure.TIM_ClockDivision = 0;
  //向上計數(shù)
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
  //初始化定時器5
  TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);
 
  /* Clear TIM5 update pending flag[清除TIM5溢出中斷標志] */
  TIM_ClearITPendingBit(TIM4, TIM_IT_Update);
 
  /* TIM IT enable */ //打開溢出中斷
  TIM_ITConfig(TIM4, TIM_IT_Update, ENABLE);
 
  /* TIM5 enable counter */
  TIM_Cmd(TIM4, ENABLE);  //計數(shù)器使能,開始工作
}
計算時間的公式公式
((1+TIM_Prescaler)/72M)*(1+TIM_Period)=T; 
關閉窗口

相關文章