乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      轉(zhuǎn)載 定時(shí)器分類

       招財(cái)進(jìn)寶2011 2019-12-10

            STM32F1 系列中,除了互聯(lián)型的產(chǎn)品,共有 8 個(gè)定時(shí)器,分為基本定時(shí)器,通用定時(shí)器和高級(jí)定時(shí)器。

            基本定時(shí)器 TIM6 和 TIM7 是一個(gè) 16 位的只能向上計(jì)數(shù)的定時(shí)器,只能定時(shí),沒有外部 IO。

            通用定時(shí)器 TIM2/3/4/5 是一個(gè) 16 位的可以向上/下計(jì)數(shù)的定時(shí)器,可以定時(shí),可以輸出比較,可以輸入捕捉,每個(gè)定時(shí)器有四個(gè)外部 IO。

            高級(jí)定時(shí)器 TIM1/8 是一個(gè) 16 位的可以向上/下計(jì)數(shù)的定時(shí)器,可以定時(shí),可以輸出比較,可以輸入捕捉,還可以有三相電機(jī)互補(bǔ)輸出信號(hào),每個(gè)定時(shí)器有 8 個(gè)外部 IO。更加具體的分類詳情見圖 。

      1

      基本定時(shí)器功能框圖講解

           基本定時(shí)器的核心是時(shí)基,不僅基本定時(shí)器有,通用定時(shí)器和高級(jí)定時(shí)器也有。學(xué)習(xí)定時(shí)器時(shí),我們先從簡單的基本定時(shí)器學(xué)起,到了后面的通用和高級(jí)定時(shí)器的學(xué)習(xí)中,我們直接跳過時(shí)基部分的講解即可。基本定時(shí)器的功能框圖見圖 .

      2

      1. 時(shí)鐘源

            定時(shí)器時(shí)鐘 TIMxCLK,即內(nèi)部時(shí)鐘 CK_INT,經(jīng) APB1 預(yù)分頻器后分頻提供,如果 APB1 預(yù)分頻系數(shù)等于 1,則頻率不變,否則頻率乘以 2,庫函數(shù)中 APB1 預(yù)分頻的系數(shù)是 2,即 PCLK1=36M,所以定時(shí)器時(shí)鐘 TIMxCLK=36*2=72M。

      2. 計(jì)數(shù)器時(shí)鐘

            定時(shí)器時(shí)鐘經(jīng)過 PSC 預(yù)分頻器之后,即 CK_CNT,用來驅(qū)動(dòng)計(jì)數(shù)器計(jì)數(shù)。PSC 是一個(gè) 16 位的預(yù)分頻器,可以對(duì)定時(shí)器時(shí)鐘 TIMxCLK 進(jìn)行 1~65536 之間的任何一個(gè)數(shù)進(jìn)行分頻。具體計(jì)算方式為:CK_CNT=TIMxCLK/(PSC+1)。

      3. 計(jì)數(shù)器

           計(jì)數(shù)器 CNT 是一個(gè) 16 位的計(jì)數(shù)器,只能往上計(jì)數(shù),最大計(jì)數(shù)值為 65535。當(dāng)計(jì)數(shù)達(dá)到自動(dòng)重裝載寄存器的時(shí)候產(chǎn)生更新事件,并清零從頭開始計(jì)數(shù)。

      4. 自動(dòng)重裝載寄存器

            自動(dòng)重裝載寄存器 ARR 是一個(gè) 16 位的寄存器,這里面裝著計(jì)數(shù)器能計(jì)數(shù)的最大數(shù)值。當(dāng)計(jì)數(shù)到這個(gè)值的時(shí)候,如果使能了中斷的話,定時(shí)器就產(chǎn)生溢出中斷。

      5. 定時(shí)時(shí)間的計(jì)算

            定時(shí)器的定時(shí)時(shí)間等于計(jì)數(shù)器的中斷周期乘以中斷的次數(shù)。計(jì)數(shù)器在 CK_CNT 的驅(qū)動(dòng)下,計(jì)一個(gè)數(shù)的時(shí)間則是 CK_CLK 的倒數(shù),等于:1/(TIMxCLK/(PSC+1)),產(chǎn)生一次中斷的時(shí)間則等于:1/(CK_CLK * ARR)。如果在中斷服務(wù)程序里面設(shè)置一個(gè)變量 time,用來 記 錄 中 斷的 次 數(shù),那 么 就 可 以計(jì) 算 出我們 需 要 的 定時(shí) 時(shí) 間等于 : 1/CK_CLK * (ARR+1)*time。

      定時(shí)器初始化結(jié)構(gòu)體詳解

            在標(biāo)準(zhǔn)庫函數(shù)頭文件 stm32f4xx_tim.h 中對(duì)定時(shí)器外設(shè)建立了四個(gè)初始化結(jié)構(gòu)體,基本定時(shí)器只用到其中一個(gè)即 TIM_TimeBaseInitTypeDef,具體的見代碼清單,其他三個(gè)我們?cè)诟呒?jí)定時(shí)器章節(jié)講解。

      復(fù)制代碼
       typedef struct {
       uint16_t TIM_Prescaler; // 預(yù)分頻器
       uint16_t TIM_CounterMode; // 計(jì)數(shù)模式
       uint32_t TIM_Period; // 定時(shí)器周期
       uint16_t TIM_ClockDivision; // 時(shí)鐘分頻
       uint8_t TIM_RepetitionCounter; // 重復(fù)計(jì)算器
       } TIM_TimeBaseInitTypeDef;
      
      復(fù)制代碼

            (1) TIM_Prescaler:定時(shí)器預(yù)分頻器設(shè)置,時(shí)鐘源經(jīng)該預(yù)分頻器才是定時(shí)器時(shí)鐘,它設(shè)定 TIMx_PSC 寄存器的值??稍O(shè)置范圍為 0 至 65535,實(shí)現(xiàn) 1 至 65536 分頻。

            (2) TIM_CounterMode:定時(shí)器計(jì)數(shù)方式,可是在為向上計(jì)數(shù)、向下計(jì)數(shù)以及三種中心對(duì)齊模式。基本定時(shí)器只能是向上計(jì)數(shù),即 TIMx_CNT 只能從 0 開始遞增,并且無需初始化。

            (3) TIM_Period:定時(shí)器周期,實(shí)際就是設(shè)定自動(dòng)重載寄存器的值,在事件生成時(shí)更新到影子寄存器??稍O(shè)置范圍為 0 至 65535。

             (4) TIM_ClockDivision:時(shí)鐘分頻,設(shè)置定時(shí)器時(shí)鐘 CK_INT 頻率與數(shù)字濾波器采樣時(shí)鐘頻率分頻比,基本定時(shí)器沒有此功能,不用設(shè)置。

            (5) TIM_RepetitionCounter:重復(fù)計(jì)數(shù)器,屬于高級(jí)控制寄存器專用寄存器位,利用它可以非常容易控制輸出 PWM 的個(gè)數(shù)。這里不用設(shè)置。雖然定時(shí)器基本初始化結(jié)構(gòu)體有 5 個(gè)成員,但對(duì)于基本定時(shí)器只需設(shè)置其中兩個(gè)就可以,想想使用基本定時(shí)器就是簡單。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多