輸入捕捉,用它的情況太多太多,因?yàn)樗蜁r(shí)間相關(guān),所以比用鍵盤中斷之類硬件觸發(fā)中斷比較起來,優(yōu)勢(shì)相當(dāng)明顯.不需要計(jì)時(shí)器輔助便可算出前一次觸發(fā)和后一次觸發(fā)的時(shí)間.為什么呢?因?yàn)檩斎氩蹲奖旧砭褪荅CT模塊. 輸入捕捉是一個(gè)16位二進(jìn)制秒表,它可以設(shè)置成當(dāng)某個(gè)用戶指定的事件發(fā)生時(shí)捕捉自由運(yùn)行計(jì)數(shù)器的當(dāng)前計(jì)數(shù).用戶指定的事件可以是上升沿、下降沿或任意。由于自由運(yùn)行計(jì)數(shù)器用于所有8個(gè)IC/OC通道,通常不對(duì)它進(jìn)行復(fù)位(即TCNT=0),而是采用兩個(gè)事件之間耗用的時(shí)間來決定輸入信號(hào)參數(shù)。輸入捕捉系統(tǒng)可用于測(cè)量單
脈沖信號(hào)的長(zhǎng)度,或是確定周期信號(hào)的特征,如周期、占空比、頻率。
相關(guān)的計(jì)算見前幾個(gè)專題。
TCTL3 TCTL4中的EDGnA EDGnB位向邊沿檢測(cè)邏輯指定需要的信號(hào)沿的特征。當(dāng)用戶指定事件在設(shè)置好的輸入捕捉引腳上發(fā)生時(shí),響應(yīng)事件將如下執(zhí)行:
1 自由運(yùn)行計(jì)數(shù)器(TCNT)中當(dāng)前值保存在定時(shí)器通道寄存器(TCnH/L)中并鎖定,其中n表示8個(gè)通道中的一個(gè)。要從寄存器中讀取16位值,必須使用16位無符號(hào)整型變量
2 設(shè)置相關(guān)的通道標(biāo)志(CnF),該標(biāo)志可以通過向其寫入邏輯1來復(fù)位
3 若相應(yīng)的通道中斷使能(CnI)被置位,那么這個(gè)通道將產(chǎn)生個(gè)個(gè)中斷事件。
評(píng)論