SCon
SCon
SCon是一個基於Python的軟體構建工具,目前1.2.0.d20090223版本已經在SourceForge上發布。
SCon的優勢在於:其構建是基於真正的Python腳本實現的,可以解決各種複雜的構建問題;可靠的自動依賴分析;內置支持多種語言,內置Tex文檔,並且易於擴展;增強了并行構建;集成了類似autoconf的支持;支持在緩存中共享構建過程中的中間文件以提高速度;跨平台;基於MD5識別構建文件的改變;支持多種源代碼管理倉庫。
SCON(SerialPortControlRegister)在51單片機中代表這是串口控制寄存器
表1scon寄存器結構 | ||||||||
---|---|---|---|---|---|---|---|---|
SCON | SM0 | SM1 | SM2 | REN | TB8 | RB8 | TI | RI |
位地址 | 9FH | 9EH | 9DH | 9CH | 9BH | 9AH | 99H | 98H |
各控制位功能介紹如下:
1SM0、SM1:串列口工作方式控制位
表2工作方式選擇 | ||
---|---|---|
SM0 | SM1 | 工作方式 |
方式0 | ||
1 | 方式1 | |
1 | 方式2 | |
1 | 1 | 方式3 |
2SM2:多機通信控制位
多機通信工作於方式2和方式3,故SM2位主要用於方式2和方式3。
在接收狀態,當串列口工作於方式2或3,以及SM2=1時,只有當接收到第9位數據(RB8)為1時,才把接收到的前8位數據送入sbuf,且置位RI發出中斷申請,否則會將接受到的數據放棄。當SM2=0時,就不管第9位數據是0還是1,都得將數據送入sbuf,併發出中斷申請。即此時RI是否置位由SM2和RB8共同決定。
工作於方式0時,SM2必須為0。
3REN:允許接收位
REN用於控制數據接收的允許和禁止,REN=1時,允許接收,REN=0時,禁止接收。
4TB8:發送接收數據位8
在方式2和方式3中,TB8是要發送的——即第9位數據位。在多機通信中同樣亦要傳輸這一位,並且它代表傳輸的地址還是數據,TB8=0為數據,TB8=1時為地址。
5RB8:接收數據位8
在方式2和方式3中,RB8存放接收到的第9位數據,用以識別接收到的數據特徵。
6TI:發送中斷標誌位
可定址標誌位。方式0時,發送完第8位數據后,由硬體置位,其它方式下,在發送或停止位之前由硬體置位,因此,TI=1表示幀發送結束,TI可由軟體置0。
7RI:接收中斷標誌位
可定址標誌位。接收完第8位數據后,該位由硬體置位,在其他工作方式下,該位由硬體置位,RI=1表示幀接收完成。