標題: 關(guān)于STM32F407定時器配置的分享 [打印本頁]

作者: zjtwxws    時間: 2018-7-19 14:12
標題: 關(guān)于STM32F407定時器配置的分享
void TIM2_Configuration(void)
{
    TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
     NVIC_InitTypeDef NVIC_InitStructure;
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);  ///使能TIM2時鐘  APB1 42M   定時器時鐘2倍頻即84M
       
    TIM_TimeBaseInitStructure.TIM_Period = 999;         //自動重裝載值arr 定時器時鐘84M,分頻系數(shù)84,所以84M/84=1000Khz的計數(shù)頻率,計數(shù)1000次為1ms   
    TIM_TimeBaseInitStructure.TIM_Prescaler = 83;  //定時器分頻psc
    TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up; //向上計數(shù)模式
    TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1;   
    TIM_TimeBaseInit(TIM2,&TIM_TimeBaseInitStructure);//初始化TIM2

    TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE); //允許定時器2更新中斷
    TIM_Cmd(TIM2,ENABLE); //使能定時器2
    TIM_SelectOutputTrigger(TIM2, TIM_TRGOSource_Update); //選擇TRGO觸發(fā)源為計時器更新時間  計數(shù)值為0時刻

        //TIM2 系統(tǒng)1ms定時器中斷配置
    NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 7;//這個數(shù)越小優(yōu)先級越高   先占優(yōu)先級
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;//響應(yīng)優(yōu)先級
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);  
}

void TIM2_IRQHandler(void)
{
    if(TIM_GetITStatus(TIM2,TIM_IT_Update)==SET) //溢出中斷
    {
        Bootloader1Ms();//系統(tǒng)1ms定時器函數(shù)   
    }
    TIM_ClearITPendingBit(TIM2,TIM_IT_Update);  //清除中斷標志位
}



作者: zjtwxws    時間: 2018-7-19 14:16
附件為源碼

USER.rar

1.01 KB, 下載次數(shù): 8, 下載積分: 黑幣 -5






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1