MSPM0L系列的通用定時器(TIMG)是一個16位的自動重裝定時器,支持向下和上下計數(shù)兩種模式,同時帶有兩個比較捕獲單元,可以做到輸出比較,輸入捕獲,PWM輸出,單脈沖輸出等功能。
定時器還支持正交編碼器結(jié)果(QEI),多定時器間的交叉觸發(fā)和同步,以及觸發(fā)其他外設(shè),例如ADC,DAC等,下圖是各個TIMG的配置。
TIMG可以選擇BUSCLK,MFCLK,LFCLK作為時鐘源,可以最大8分頻時鐘,再經(jīng)過一個8位的預(yù)分頻器,最終稱為定時器的計數(shù)時鐘。
實操例程1
下面通過SYSCONFIG來配置一個1s的定時器,用來翻轉(zhuǎn)IO,在SYSCONFIG的定時器外設(shè)選項卡中,定時器不同的功能已經(jīng)分開配置了,根據(jù)需要選擇不同的選項卡,我們是純定時,所以就在最下面的一個。
在配置界面中,時鐘選擇32MHz的總線時鐘,分頻系數(shù)為8,預(yù)分頻為64,最終定時器時鐘也就是62.5KHz,填入我們需要的定時周期1000ms,系統(tǒng)會自己算出寄存器的裝載值。
因為這個配置中,系統(tǒng)使用的是向下計數(shù)模式,所以中斷部分選擇計數(shù)到0事件
GPIO的配置方法已經(jīng)在前面的教程里說過了,這里就不在重復(fù)。
在程序初始化后,使能定時器中斷,開啟定時器就可以了,在中斷函數(shù)中翻轉(zhuǎn)IO口,就可以完成1s鐘翻轉(zhuǎn)IO的程序了
配套例程名為TIM_toggleIO,需要復(fù)制到SDK目錄下運行。
實操例程2
下面配置一個PWM輸出的例子。
PWM輸出是使用的是定時器的比較功能,MSPMPL系列每個定時器可以輸出2個通道的同周期不同占空比的PWM。
有兩種PWM模式,一個是邊緣對齊PWM,其實就是定時器使用的向下計數(shù)模式,輸出通道在定時器計數(shù)開始的時候會輸出高電平,當(dāng)計數(shù)值與輸出通道的比較值相同的時候,輸出通道會輸出低電平一直到定時器的計數(shù)值計數(shù)到0,就完成了一個周期的脈沖輸出。
另外一個數(shù)中心對齊PWM,也就是定時器的上下計數(shù)模式,輸出通道會在定時器開始的時候輸出低電平,在定時器向上計數(shù)和向下計數(shù)兩次到達(dá)輸出通道的比較值相等的時候各翻轉(zhuǎn)一次電平。
輸出通道初始電平在定時器未開始計數(shù)的時候可以在OCTL_xx寄存器中修改,比較輸出通道的電平也可以在此寄存器中修改成翻轉(zhuǎn)輸出。
這里設(shè)置兩個100Hz,50%占空比的PWM,其中一個通道為翻轉(zhuǎn)輸出。
在SYSCONFIG的TIMER-PWM選項卡中,設(shè)置好對應(yīng)的時鐘和分頻,以及PWM周期計數(shù)值,系統(tǒng)會自動計算出PWM頻率。
在PWM設(shè)置里面,選擇PWM模式,這里選的是邊緣對齊,選擇雙通道輸出,每個填入通道的期望占空比,系統(tǒng)會自己計算出計數(shù)值以及實際占空比,通道初始狀態(tài)也可以在這里設(shè)置,這里默認(rèn)不動,我們把0通設(shè)置為翻轉(zhuǎn)輸出。
最后在PinMux配置好具體的輸出管腳。
在程序里開啟定時器就可以輸出PWM了。
示波器抓一下,可以看到對應(yīng)管腳已經(jīng)產(chǎn)生了配置所需的PWM。
配套例程名為TIM_PWM,需要復(fù)制到SDK目錄下運行。
審核編輯:湯梓紅
-
PWM
+關(guān)注
關(guān)注
116文章
5482瀏覽量
219133 -
adc
+關(guān)注
關(guān)注
99文章
6686瀏覽量
549007 -
dac
+關(guān)注
關(guān)注
43文章
2403瀏覽量
193553 -
定時器
+關(guān)注
關(guān)注
23文章
3298瀏覽量
118724 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5657瀏覽量
104262
原文標(biāo)題:MSPM0L1306開發(fā)板教程9 - 通用定時器
文章出處:【微信號:創(chuàng)易棧,微信公眾號:創(chuàng)易?!繗g迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
MSPM0L1306開發(fā)板教程之OPA

電賽:mspm0l1306的開發(fā)板可以燒錄程序,但是程序運行不了,怎么解決這個問題?
【實驗45】用定時器產(chǎn)生方波0
STM32開發(fā)板教程之定時器中斷實驗的資料概述

MSPM0L1306開發(fā)板教程之開發(fā)環(huán)境搭建

MSPM0L1306開發(fā)板教程之DMA

MSPM0L1306開發(fā)板教程之I2C

MSPM0L1306開發(fā)板教程之WWDT

TI MSPM0L1306開發(fā)板簡介

MSPM0L1306 LaunchPad開發(fā)套件(LP?MSPM0L1306)

評論