TIMER硬體使用簡介
以下章節,我們依TIMER硬體設定,TIMER硬體中斷分享,TIMER中斷服務常(駐函)式的準備,TIMER中斷服務常式安排及處理,以及 TIMER中斷服務常式後續工作 先後順序說明TIMER硬體及其中斷源使用的相關工作。
讓使用者能夠了解在AVR,GUN,以及C4M-OS的支援環境下如何撰寫需用常式及函式以建構一個使用TIMER硬體的軟硬體搭配系統。
TIMER硬體設定:
不論任何MCU其週邊硬體都是以寫入旗標群或暫存器來設定。傳統上在想要設定這些硬體時必需要參考硬體使用手冊找出相關設定暫存器及位元,逐項蓋寫來完成設定,若過程中很遺漏部份暫存器或旗標就會失敗。
C4M-OS函式庫,提供了通用旗標及暫存器讀寫巨集或函式,它們有共通的輸入傳遞參數。C4M-OS函式庫也由MCU手冊中分析整理出針對各個週邊硬體的設定,操作,及監視三類動作Action。這三類的每一個動作,都可以用呼叫前述通用旗標及暫存器讀寫巨集或函式來執行。並且 針對不同週邊硬體整理出他們的每一類動作於執行所需的傳參,建構成 設定旗標群蓋寫參數快查表,設定暫存器蓋寫參數快查表。操控旗標群蓋寫參數快查表,操控暫存器蓋寫參數快查表, 監視旗標群讀取參數快查表,監視暫存器讀取參數快查表。
不論使用者想用
1. 傳統暫存器等式逐一寫入法。
2. 呼叫C4M-OS REGGET(),REGPUT(),REGFPT(),REGFGT()巨集逐一設定法。
3. 呼叫C4M-OS批次設定函式,讀取預設結構體執行批次設定法。
都可以參考前述兩個設定旗標蓋寫參數快查表,設定暫存器蓋寫參數快查表,取得參數值或預設結構體的初值。
TIMER硬體設定用快查表
TIMER硬體設定包括兩個參數快查表,包括 設定旗標群蓋寫參數快查表 及 設定暫存器蓋寫參數快查表。以下我們依序說明這兩個快查表。
TIMER硬體設定旗標群蓋寫參數快查表
以下為ASA_M128單板電腦用的TIMER硬體設定旗標群蓋寫參數快查表。表中分為TIM0,TIM1,TIM2,TIM3四個區塊,分別對應0,1,2,3四個計時計數硬體。
TIM0有五個旗標群設定動作項目,TIM1,TIM2,TIM3各有四個旗標群設定動作。
使用者不論使用前述三種硬體設定方法任一種,都可以參考本小節提供的快查表。快查表的使用上應依據所想要執行的動作,查詢表上最左列(Column)邊動作ACTION欄位找到該動作所在行,從這一行中找到,硬體暫存器指標欄 HWREG_p, 遮罩欄Mask,移位欄Shift,等這個動作對應的固定參數。並從同一行(row)的Data 找到決定設定值的參考公式或指引。Field欄則為呼叫批次設定函式批次設定硬體時專用,代表的是設定旗標群設定值結構體內的欄位名稱,可供選用初值之參考。
上表中,Data欄位內關於資料的決定,係參考TIMER設定旗標群可選用數值一欄表來決定。
TIMER設定旗標群蓋寫參數快查表節錄了的動作Action,設定旗標群設定值結構體欄位FieldName,以及可選用的設定值別名(OptionsName)及可選值(Option)
TIMER設定旗標群可選用數值一欄表