分頻值是是指你將系統(tǒng)時鐘的頻率減小,假設(shè)時鐘頻率是72Mhz,然后分頻值是7199,現(xiàn)在你的定時器值就是10kHz,表示每計(jì)一個數(shù),然后過了1/(10^4)秒,然后你的重裝值就是你的時間了,如果值是9999,就表示定時時間為1s。
TIM_TImeBaseInitTypeDef TIM_TImeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
TIM_ClearITPendingBit(TIM3, TIM_IT_Update);
TIM_TimeBaseStructure.TIM_Period = 9999;
TIM_TimeBaseStructure.TIM_Prescaler = 7199;
TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE );
TIM_Cmd(TIM3,ENABLE);
定時器中斷為1s
定時器的定時 功能
定時器的時鐘源選擇
定時器的時鐘是來自APB1或者APB2時鐘線上的倍頻器,其最大值是APB1或者APB2時鐘的2倍頻。
計(jì)數(shù)器時鐘源選擇
計(jì)數(shù)器時鐘來源:
1)內(nèi)部時鐘,即是倍頻器出來后的時鐘;
2)外部時鐘模式1,輸入引腳(TIx),通常叫做外部輸入捕獲; 3)外部時鐘模式2,外部觸發(fā)輸入(EXT); 4)其他定時器觸發(fā);
這里說說外部時鐘模式1 和外部時鐘模式2 的區(qū)別:
從時鐘的框圖:
當(dāng)選擇為外部從模式1的時候,那么觸發(fā)控制器完全被沖模式控制被占用了,這個時候就不能用其它從模式(復(fù)位、觸發(fā)、門控)進(jìn)行控制,而ETR,解決了這個問題。
定時器定時時間計(jì)算原理,做定時器的定時時間時,通常是選擇內(nèi)部時鐘,下面舉例來說明:
更具配置時定時器的計(jì)數(shù)模式,一般選擇為向上計(jì)數(shù)模式,計(jì)數(shù)器溢出然后,定時器自動加載計(jì)數(shù)器的值,從零開始計(jì)數(shù),并且產(chǎn)生一個中斷。
分屏器:
分頻器是用來描述,計(jì)數(shù)器是經(jīng)過多少分頻。
定時器時鐘 T6
選擇定時器內(nèi)部時鐘作為計(jì)數(shù)器的時鐘源,這里假設(shè)為21M(F4系類可以分頻到這個頻率)
也就是1S,可以計(jì)數(shù) 21 000000個脈沖; 一個脈沖占用時間 = 1/21 000000 (s);
那么現(xiàn)在定時500us = 0.0005s;
其中一種組合如下: 重載值 = 500*21-1; 分頻值 = 0;