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