新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32 定時器 定時時間的計算

        STM32 定時器 定時時間的計算

        作者: 時間:2016-11-28 來源:網絡 收藏
        假設 系統時鐘是72Mhz,TIM1 是由PCLK2 (72MHz)得到,TIM2-7是由 PCLK1 得到
        關鍵是設定 時鐘預分頻數,自動重裝載寄存器周期的值


        定時器的基本設置
        1、TIM_TimeBaseStructure.TIM_Prescaler = 7199;//時鐘預分頻數例如 :時
        鐘頻率=72/(時鐘預分頻+1)
        2、TIM_TimeBaseStructure.TIM_Period = 9999; // 自動重裝載寄存器周期的值(定時
        時間)累計 0xFFFF個頻率后產生個更新或者中斷(也是說定時時間到)
        3、TIM_TimeBaseStructure.TIM_CounterMode =TIM1_CounterMode_Up; //定時器
        模式向上計數

        4、 TIM_TimeBaseStructure.TIM_ClockDivision = 0x0; //時間分割值
        5、 TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);//初始化定時器2
        6、 TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);//打開中斷溢出中斷
        7、 TIM_Cmd(TIM2, ENABLE);//打開定時器

        或者:
        TIM_TimeBaseStructure.TIM_Prescaler = 35999;//分頻3599972M/
        (35999+1)/2=1Hz1秒中斷溢出一次
        TIM_TimeBaseStructure.TIM_Period = 2000; //計數值2000

        ((1+TIM_Prescaler )/72M)*(1+TIM_Period )=((1+35999)/72M)*(1+2000)=1秒 */


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 蓬莱市| 英德市| 苏州市| 文化| 长岭县| 大悟县| 临猗县| 威海市| 合江县| 康乐县| 苗栗市| 临汾市| 体育| 西昌市| 博客| 曲麻莱县| 吉木乃县| 昌邑市| 枣强县| 新和县| 绥宁县| 金坛市| 富宁县| 乐业县| 尚志市| 福贡县| 兰考县| 大宁县| 钟祥市| 锡林浩特市| 定州市| 广元市| 灵丘县| 丘北县| 涞水县| 卢龙县| 嘉荫县| 汉寿县| 邵阳县| 修水县| 长泰县|