SCon
SCon是一个基于Python的软件构建工具,目前1.2.0.d20090223版本已经在SourceForge上发布了。SCon 的优势在于:其构建是基于真正的Python脚本实现的,可以解决各种复杂的构建问题;可靠的自动依赖分析;内置支持多种语言,内置Tex文档,并且易于扩展;增强了并行构建;集成了类似autoconf的支持;支持在缓存中共享构建过程中的中间文件以提高速度;跨平台;基于MD5识别构建文件的改变;支持多种源代码管理仓库。
SCON (Serial Port Control Register) 在51单片机中代表这是串口控制寄存器
scon控制寄存器
scon控制寄存器,它是一个可寻址的专用寄存器,用于串行数据的通信控制,单元地址是98h,其结构格式如下:
表1 scon寄存器结构
scon d7 d6 d5 d4 d3 d2 d1 d0
sm0 sm1 sm2 ren tb8 rb8 ti ri
位地址 9fh 9eh 8dh 9ch 9bh 9ah 99h 98h
各控制位功能介绍如下:
(1).sm0、sm1:串行口工作方式控制位。
sm0,sm1 工作方式
00 方式0
01 方式1
10 方式2
11 方式3
(2).sm2:多机通信控制位。
多机通信是工作于方式2和方式3,sm2位主要用于方式2和方式3。接收状态,当串行口工作于方式2或3,以及sm2=1时,只有当接收到第9位数据(rb8)为1时,才把接收到的前8位数据送入sbuf,且置位ri发出中断申请,否则会将接受到的数据放弃。当sm2=0时,就不管第位数据是0还是1,都得将数据送入sbuf,并发出中断申请。即此时ri是否置位由sm2和rb8共同决定。
工作于方式0时,sm2必须为0。
(3).ren:允许接收位。
ren用于控制数据接收的允许和禁止,ren=1时,允许接收,ren=0时,禁止接收。
(4).tb8:发送接收数据位8。
在方式2和方式3中,tb8是要发送的——即第9位数据位。在多机通信中同样亦要传输这一位,并且它代表传输的地址还是数据,tb8=0为数据,tb8=1时为地址。
(5).rb8:接收数据位8。
在方式2和方式3中,rb8存放接收到的第9位数据,用以识别接收到的数据特征。
(6).ti:发送中断标志位。
可寻址标志位。方式0时,发送完第8位数据后,由硬件置位,其它方式下,在发送或停止位之前由硬件置位,因此,ti=1表示帧发送结束,ti可由软件清“0”。
(7).ri:接收中断标志位。
可寻址标志位。接收完第8位数据后,该位由硬件置位,在其他工作方式下,该位由硬件置位,ri=1表示帧接收完成。
在串口中断处理时,ti,ri都需要软件清"0",硬件置位后不可能自动清0,此外,在进行缓冲区操作时,需要es=0,以防止中断出现。