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