TIM時鍾頻率計算


Timer的Prescaler和period

TM32定時器周期計算
公式是:
((1+TIM_Prescaler )/時鍾)(1+TIM_Period )
F103配置生成1ms的時鍾((1+35 )/36M)
(1+999 ) = 1MS

//配置定時器基礎結構體
TIM_DeInit(TIM2);
//設置下一個更新事件裝入活動的自動重裝載寄存器周期的值,計數到1000為1ms
/*1us跳1下
那么跳動1000下當然需要1ms了*/
TIM_TimeBaseStructure.TIM_Period=(1000-1);
//設置用來作為Tim時鍾頻率除數的預分頻值 1M的技術頻率1US計數
/*假設系統時鍾為72M 
72,000,000
1,000,000
1秒跳動1,000,000下
1us跳1下*/
TIM_TimeBaseStructure.TIM_Prescaler=(72-1);
//不分頻
TIM_TimBaseStructure.Tim_ClockDivision=TIM_CKD_DIV1;
//向上計數模式
TIM_TimBaseStucture.TIM_CounterMode=TIM_CounterMode_UP;
//根據TIM_TimBaseStructure中指定的參數初始化TIMx的時間基數單位
TIM_TimBaseInit(TIM6,&TIM_TimBaseStructure);
//清除更新中斷,免得一打開中斷就產生中斷
TIM_ClearFlag(TIM6,TIM_FLAG_Update);
//打開定時器更新中斷
TIM_ITConfig(TIM6,TIM_IT_Update,ENABLE);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM