新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32通用定時(shí)器(時(shí)鐘選擇,模式選擇)

        STM32通用定時(shí)器(時(shí)鐘選擇,模式選擇)

        作者: 時(shí)間:2016-11-28 來(lái)源:網(wǎng)絡(luò) 收藏

        涉及寄存器

        CR1

        9876543210

        CKD[1:0]

        ARPE

        CMS[1:0]

        DIR

        OPM

        URS

        UDIS

        CEN

        接下來(lái)再做兩個(gè)輸入的實(shí)驗(yàn)

        實(shí)驗(yàn)6

        TIMER-5:輸入捕獲模式。

        現(xiàn)象:通過(guò)V100 的JOYSTICK鍵的SELECT鍵進(jìn)入捕獲,硬件仿真看CRR的值。

        首先是基本的配置:ARR的值、時(shí)鐘PSC、采樣CKD、計(jì)數(shù)方式。

        然后配置輸入通道。

        選擇輸入捕獲模式、輸入極性、把T1配到CC1上、選好輸入的濾波跟分頻,就可以了。

        講下輸入濾波功能,在此實(shí)驗(yàn)中Fdts=CK_INT/2,Fsample=Fdts/4,所以定時(shí)器時(shí)鐘為2K,所以采樣周期為4ms。才8次的話(huà)周期小于32ms的干擾會(huì)濾除。

        相關(guān)寄存器

        CR1

        9876543210

        CKD[1:0]

        ARPE

        CMS[1:0]

        DIR

        OPM

        URS

        UDIS

        CEN

        PSC

        ARR

        CCMR1(輸入)

        IC2F[3:0]

        IC2PSC[1:0]

        CC2S[1:0]

        IC1F[3:0]

        IC1PSC[1:0]

        CC1S[1:0]

        CCER

        15 14131211 10987 6543210

        CC4P

        CC4E

        CC3P

        CC3E

        CC2P

        CC2E

        CC1P

        CC1E

        實(shí)驗(yàn)7

        TIMER-6:PWM輸入

        現(xiàn)象:由TIMER3輸出通道1產(chǎn)生一路周期2秒占空比50%的PWM波,飛線(xiàn)到TIMER4的輸入通道1,有TIMER4來(lái)測(cè)量該P(yáng)WM得周期和占空比。

        在做實(shí)驗(yàn)之前引入三種從模式控制:復(fù)位、觸發(fā)、門(mén)控。通過(guò)SMCR選擇后可以進(jìn)入這三種從模式

        SMCR

        1514131211 109876543210

        ETP

        ECE

        ETPS[1:0]

        ETF[3:0]

        MSM

        TS[2:0]

        SMS[2:0]

        SMS: 100101110

        復(fù)位門(mén)控觸發(fā)

        所謂從模式簡(jiǎn)單理解就是受控于別人了,包括何時(shí)啟動(dòng)、何時(shí)停止、何時(shí)復(fù)位。相關(guān)作用請(qǐng)看手冊(cè)。提示一點(diǎn)就是進(jìn)入這三種模式后時(shí)鐘是誰(shuí)的問(wèn)題?肯定不是外部時(shí)鐘1了,可以是內(nèi)部時(shí)鐘和外部時(shí)鐘2.

        接著看實(shí)驗(yàn),PWM方式的原理是這樣的,如前文提到過(guò)輸入時(shí)可以把T1映射到CC1上去同時(shí)映射到CC2上,將CC1和CC2的捕獲邊沿搞成相反的,比如CC1捕獲T1上升沿,CC2捕獲T1下降沿,還要再設(shè)置T1為復(fù)位從模式,上升沿有效,這樣T1上升沿后計(jì)數(shù)器開(kāi)始計(jì)數(shù)。下降沿CC2捕獲發(fā)生,此為PWM占空比,在來(lái)一個(gè)上升沿,CC1捕獲發(fā)生此為PWM周期。注意CC1捕獲的第一次無(wú)效。

        這是從模式跟輸入捕獲的一種組合使用,從模式還可以跟輸出比較組合使用。比如手冊(cè)上的單脈沖實(shí)驗(yàn)。

        接著做4個(gè)實(shí)驗(yàn)跟定時(shí)器的級(jí)聯(lián)和定時(shí)器同步有關(guān)系,在實(shí)驗(yàn)前先得說(shuō)說(shuō)主模式的問(wèn)題。在CR2寄存器中的MMS位決定了定時(shí)器的主模式方式,即決定TRGO.幾種方式可以參看手冊(cè)。要說(shuō)明一點(diǎn)就是一個(gè)定期器既可以是主模式同時(shí)它也是從模式,這就好像你是一個(gè)中層干部一樣,既可以領(lǐng)導(dǎo)別人同時(shí)又被別人領(lǐng)導(dǎo),這個(gè)不沖突的。

        簡(jiǎn)單介紹下4個(gè)實(shí)驗(yàn)。

        實(shí)驗(yàn)8

        TIMER-8:TIMER2作為T(mén)IMER3的分頻器.

        現(xiàn)象:LED以10秒周期閃爍。

        TIMER3配置為PWM輸出,但是始終有TIMER2的溢出時(shí)間頻率來(lái)提供,其溢出頻率為100Hz所以TIMER3 PWM的周期為10S.

        實(shí)驗(yàn)9

        TIMER-9:TIMER2來(lái)使能TIMER3.

        現(xiàn)象:LD1前15秒以1秒的周期閃爍,后15秒熄掉,然后下個(gè)15秒再閃爍如此循環(huán)。

        在這個(gè)實(shí)驗(yàn)里TIEMR3輸出一個(gè)周期1秒的PWM波,仍然驅(qū)動(dòng)LD1閃爍。同時(shí)從模式配成門(mén)控模式,TIEMR2將OC1作為T(mén)RGO,OC1是一個(gè)周期30S占空比50%的PWM波。

        實(shí)驗(yàn)10

        TIMER-10:IMER2啟動(dòng)TIMER3

        現(xiàn)象:上電后延遲15秒LD1以1秒的周期閃爍。

        此實(shí)驗(yàn)跟上個(gè)實(shí)驗(yàn)配置差不多只要把TIMER3有門(mén)控改為觸發(fā)方式即可。

        實(shí)驗(yàn)11

        TIMER-11:TIMER4的通道1同時(shí)出發(fā)TIMER4和TIMER3兩個(gè)定時(shí)器

        現(xiàn)象:按下JOYSTICK 的“選擇”鍵同時(shí)出發(fā)兩個(gè)定時(shí)器開(kāi)始。同時(shí)TIMER3驅(qū)動(dòng)LD1以1秒周期閃爍。

        以上4個(gè)實(shí)驗(yàn)實(shí)際上是主模式和從模式的組合以及主模式和外部時(shí)鐘1的組合。其實(shí)根據(jù)自己的需要還可以做出多種組合,這就是STM32定時(shí)器強(qiáng)大的地方。

        最后多熟悉下庫(kù)函數(shù),關(guān)于TIM的庫(kù)(2.0版本),本人認(rèn)為有兩點(diǎn)錯(cuò)誤:

        1、TIM.C中CR1_CounterMode_Mask 的值為0x039F應(yīng)該改為0x038F這樣才能覆蓋CR1的DIR位。

        2、TIM.C中TIM_PrescalerConfig函數(shù)原文

        if (TIM_PSCReloadMode == TIM_PSCReloadMode_Immediate)

        {

        TIMx->EGR |= TIM_EventSource_Update;

        }

        else

        {

        TIMx->EGR &= TIM_EventSource_Update;

        }

        紅色的這句好像不對(duì)吧?應(yīng)該TIMx->EGR &=~ TIM_EventSource_Update;才對(duì)吧。


        上一頁(yè) 1 2 下一頁(yè)

        評(píng)論


        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 定襄县| 惠州市| 开化县| 东丰县| 成安县| 漯河市| 磴口县| 大渡口区| 顺平县| 灵宝市| 琼海市| 扬中市| 宣恩县| 肥城市| 工布江达县| 汽车| 平谷区| 共和县| 顺义区| 西畴县| 商城县| 东乡县| 铁岭市| 万山特区| 海丰县| 青岛市| 石景山区| 乡城县| 鞍山市| 嘉黎县| 南平市| 南宫市| 洪雅县| 台南市| 乌兰察布市| 怀柔区| 常熟市| 嵊泗县| 彭泽县| 荆门市| 汝阳县|