本文介紹了華芯微特公司的MCU之TIMER脈沖發(fā)送功能的知識(shí)要點(diǎn)。
TIMER脈沖發(fā)送
1TIMER定時(shí)器之脈沖發(fā)送功能
我們今天詳細(xì)講解一下TIMER的脈沖發(fā)送功能。
SWM190的TIMER模塊提供了用于輸出脈沖的功能,發(fā)送指定脈寬的方波,可通過(guò)配置相應(yīng)寄存器輸出脈沖做PWM使用。每一個(gè)TIMER都可以配置兩個(gè)脈沖輸出翻轉(zhuǎn)點(diǎn)(翻轉(zhuǎn)點(diǎn)0/1)中斷。使能中斷后,在計(jì)數(shù)過(guò)程中到達(dá)設(shè)置的翻轉(zhuǎn)值會(huì)觸發(fā)中斷操作。
一般情況下我們會(huì)將翻轉(zhuǎn)點(diǎn)1設(shè)置為T(mén)IMER的周期值,使其輸出PWM波
2 SWM190 TIMER脈沖輸出功能配置庫(kù)函數(shù)
下面我們以脈沖輸出為例,使用加強(qiáng)型定時(shí)器,使用TIMR0的Output Compare功能輸出脈沖信號(hào)。在此例程中,我們將使用B6作為T(mén)IMER0的輸出脈沖IO口,翻轉(zhuǎn)點(diǎn)1設(shè)置為T(mén)IMER的周期值,使用脈沖輸出功能輸出PWM,其波形圖如圖表 1所示。
我們之前有講到PORT和TIMER的配置方法,在這里就不在做贅述,將B6引腳通過(guò)PORT_Init設(shè)置為T(mén)IMER的輸入功能引腳(PORTB_PIN6_TIMR0_OUT),并將TIMER0模塊功能在TIMR_Init初始化為脈沖輸出功能(TIMR_MODE_OC)。
我們接下來(lái)看TIMR_OC_Init(TIMR_TypeDef * TIMRx, uint32_t match, uint32_t match_int_en, uint32_t init_lvl)函數(shù)。
函數(shù)的第一個(gè)參數(shù)為T(mén)IMR_TypeDe,它是一個(gè)結(jié)構(gòu)體類(lèi)型,該類(lèi)型在SWM190.h中被定義。具體參數(shù)為指定TIMER模塊,有效值包括TIMR0,TIMR1,TIMR2,TIMR3;
第二個(gè)參數(shù)為match,為第一個(gè)翻轉(zhuǎn)點(diǎn),當(dāng)計(jì)數(shù)器的值遞減到match時(shí)引腳輸出電平翻轉(zhuǎn);
第三個(gè)參數(shù)為match_int_en,為第一個(gè)翻轉(zhuǎn)點(diǎn)中斷使能,當(dāng)計(jì)數(shù)器的值遞減到match時(shí)是否產(chǎn)生中斷;
第四個(gè)參數(shù)為init_lvl,為輸出初始電平值;
我們的函數(shù)配置為:
TIMR_OC_Init(TIMR0, SystemCoreClock/400, 0, 1);
IMR_OC_Init函數(shù)中配置為使用TIMER0;第一個(gè)翻轉(zhuǎn)值設(shè)置為SystemCoreClock/400;不使能輸出PWM翻轉(zhuǎn)點(diǎn)0;初始輸出電平為高;
值得一提的是,在TIMR_OC_Init庫(kù)函數(shù)中,默認(rèn)將第二個(gè)翻轉(zhuǎn)值配置為周期值(TIMRx-》OCMAT1 = TIMRx-》LOAD;)。
具體配置函數(shù)如下圖所示:
3實(shí)驗(yàn)現(xiàn)象下載好程序后,B6腳輸出初始電平為高,頻率為100hz,占空比為25%的PWM。責(zé)任編輯:haq
-
mcu
+關(guān)注
關(guān)注
146文章
17964瀏覽量
366395 -
脈沖
+關(guān)注
關(guān)注
20文章
901瀏覽量
97251 -
信號(hào)
+關(guān)注
關(guān)注
11文章
2851瀏覽量
78240
原文標(biāo)題:MCU之TIMER脈沖發(fā)送
文章出處:【微信號(hào):mcugeek,微信公眾號(hào):MCU開(kāi)發(fā)加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄

定時(shí)模塊app_timer用法及常見(jiàn)問(wèn)題—nRF5 SDK模塊系列二


PT8P3103 MCU規(guī)格書(shū)
PT8P1101 MCU規(guī)格書(shū)
L9663如何使用上行緩沖區(qū)發(fā)送同步脈沖?
ADS131M04與外部MCU連接時(shí),外部MCU連接串口采集電壓有10uv的變動(dòng),為什么?
脈沖噪聲對(duì)系統(tǒng)的影響
ADS1294在配置該芯片寄存器時(shí),會(huì)出現(xiàn)需要MCU反復(fù)配置多次才成功的情況,為什么?
MCU性能與功能:優(yōu)化設(shè)計(jì)的關(guān)鍵
脈沖充電器的作用與功能
使用MSPM0 MCU優(yōu)化現(xiàn)場(chǎng)傳感器和發(fā)送器應(yīng)用

中微愛(ài)芯AD型RISC內(nèi)核MCU AiP9M161介紹

評(píng)論