1.相關暫存器:
1.scibdh,scibdl:
波特率暫存器
(scibdh
只有低5
位有效)
波特率= 匯流排頻率
/ (16 * sbr[12:0]) 2.
scicr2: sci
控制暫存器2
位數 7
6 5
4 3
2 1
0 含義
tie
tcie
rieilie te
rerwu
sbk復位值 0
0 00 0
0 00
tie:
傳送中斷使能位。使能傳送資料暫存器空標誌
(tdre)
來產生中斷申請
tcie:
傳送完成中斷使能位。使能傳送完成標誌
(tc)
來產生中斷申請
rie:
接收器滿中斷使能位
te:
傳送器使能位
re:
接收器使能位 3.
scisr1: sci
狀態暫存器1
位數 7
6 5
4 3
2 1
0 含義
tdre tc
rdrf
idle or
nf fe
pf復位值 1
1 00 0
0 00
tdre:
傳送資料暫存器空標誌
tc:
傳送完成標誌
rdrf:
接收資料暫存器滿標誌 4.
scidrl
,(scidrh
): sci
資料暫存器 2
.暫存器使用注意事項: 1.
tdre(tc)
復位值為
1,因此將
scicr2
的tie(tcie)置為1
即可產生中斷 2.
tdre,tc
的清除方法:讀
scisr1
,然後寫
scidrl
,注意,傳送完最後乙個位元組之後,會產生中斷,但因為這是最後乙個位元組,故不會寫
scidrl,
中斷標誌仍然存在 3.
rdrf
的清除方法:讀
scisr1,
然後讀scidrl。
3.示例函式;
說明:
1. 傳送和接收都採用中斷方式,以幀為基本處理單元,當接收到一幀完整資料時,置位接收標誌,主程式不斷查詢接收標誌,若接收標誌置位,則呼叫接收處理函式解析接收到的幀。
2. 通訊協議基本形式:幀頭
(1位元組
) +通訊頭
(1位元組
) +通訊資料長度
(1位元組
) +通訊資料
+校驗字
(1位元組)
通訊頭:
表示通訊的內容
通訊資料長度
= 通訊資料長度
+ 校驗字長度
ucos ii在MC9S12XDP512上的移植
搞了幾天,總算把ucos ii移植到mc9s12xdp512上了。做個簡短的筆記。ucos ii版本 2.52,編譯器 freescale codewarrior5.9 晶元 mc9s12xdp512 移植步驟 1.根據嚮導建立新的工程,晶元選擇mc9s12xdp512,其餘預設配置 2.將ucos...
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...
MC9S12G時鐘配置
一 enable外部時鐘 使cpmuosc暫存器的osce位置一 二 計算需要的頻率 以24mhz為例 pllclk 24mhz 2 x oscclk 振盪器頻率,即你的外部晶振 x synr 1 refdv 1 三 計算出synr,refdv後 把synr得值賦給cpmusynr的前六位,把ref...