rti,是org時鐘和復位發生模組中的乙個功能,一般用它來3秒後啟動車子。
初始化它,需要兩個暫存器:crgint和rtictl。
crgint的第8位:rtie是rti的中斷使能位,為1使能。
而rtictl的設定,就關係到定時的時間,關鍵就是這點,估計有很多同學不太了解吧。
下面來重點說說:
它的第8位:rtr[8],沒用,不管。
6到4位:rtr[6:4],預分頻選擇位。
3到0位:rtr[3:0],分頻係數選擇位。
另外,它的分頻時鐘是外部時鐘頻率,xs128是16m,與使用pll與否無關。
01.公式:t=(rtr[3:0]+1)*2^(rtr[6:4]+9)/osc clock
我使用的是近似100ms,
01.rtictl=0xef;
複製**,5秒後啟動車子。
希望對剛接觸的同學有些小小幫助。
程式例子
#include /* common defines and macros */
#include /* derivative information */
#pragma link_info derivative "mc9s12xs128"
void rti_init() //實時中斷 rti 初始化函式
//實際上是10.24ms 16m是外部晶振的頻率,實時中斷以外部晶振時鐘為參考時鐘
void main()
}#pragma code_seg __near_seg non_banked //實時中斷rti 中斷函式
void interrupt 7 rti(void)
MC9S12G時鐘配置
一 enable外部時鐘 使cpmuosc暫存器的osce位置一 二 計算需要的頻率 以24mhz為例 pllclk 24mhz 2 x oscclk 振盪器頻率,即你的外部晶振 x synr 1 refdv 1 三 計算出synr,refdv後 把synr得值賦給cpmusynr的前六位,把ref...
MC9S12G定時器中斷設定
一 關閉定時器模組 時tscr1的ten位為0 二 設定iosx為輸出比較引腳 以7為例 tios ios7 1 三 繫結輸出比較引腳 tctl1 om7 0 tctl1 ol7 1 四 設定計數器的比較值 在24mhz的系統時間下,0xbb為1ms 中斷週期 0x4926 128 24mhz 10...
mc9s12xdp512的中斷程式設計
中斷在c語言裡面有兩種方式表達 1 interrupt void rti isr void same as pragma trap proc,set the entry number in the prm file這種方式定義了中斷的結構,實際的向量位址在prm檔案中定義 2 void interr...