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

定時模塊app_timer用法及常見問題—nRF5 SDK模塊系列二


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

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

評論