原文地址:DSP28_Sci.h头文件说明(一)作者:simplorer
SCI即串行通信接口,是一个双线的异步串口,即具有接收和发送两根信号线的异步串口,一般可以看作是UART(通用异步接收/发送装置)。F2812的SCI模块支持DSP与采用NRZ(non-return-to-zero 不归零)标准格式的异步外围设备之间进行数字通信。
F2812内部有两个单独的SCI模块,SCIA与SCIB,每一个SCI模块都各有一个接收器和发送器。SCI的接收器和发送器各具有一个16级深度的FIFO队列,它们还都有自己独立的使能位和中断位,可以在半双工通信中进行独立的操作,或者在全双工通信中同时进行操作。需要注意的是,SCIA的13个寄存器都是8位的。
表1. SCI寄存器地址映射表
1. SCICCR
Bit(s)
Name
Description
7
STOP BITS
SCI停止位个数,该位决定了发送停止位的个数,接收器仅对一个停止位进行检查。
0 1位停止位
1 2位停止位
6
EVEN/ODD PARITY
奇偶校验设置位,奇偶校验是否有效取决于SCICCR(5)的设置
0 奇校验
1 偶校验
5
PARITY ENABLE
SCI奇偶校验使能位,如果SCI处于address-bit
multiprocesser模式(SCICCR(3)置1),地址位也包含在奇偶计算中,对于少于位的字符,剩余的无用位排除在奇偶校验之外。
0 禁用奇偶校验
1 使能奇偶校验
4
LOOPBACK ENA
测试模式使能位,使能此位,Rx与Tx在内部连接在一起。
0 禁止此模式
1 使能此模式
3
ADDR/IDLE MODE
SCI多机模式控制位,多机模式与普通模式不同,需要使能SLEEP与TXWAKE功能。多机模式增加了一个地址位到数据帧中,普通模式(空闲模式)无此位,与典型的RS232通信兼容。
0 空闲模式
1 多机模式
2-0
SCICHAR2-0
字符长度控制位,1-8位长度可选,不够8位时,SCIRXBUF和SCIRXEMU寄存器中的数据是右对齐的,且SCIRXBUF中的无用位填0,SCITXBUF中的无用位不用填0。
000 1
001 2
010 3
011 4
100 5
101 6
110 7
111 8
2. SCICTL1
Bit(s)
Name
Description
7
Reserved
读为0,写无效
6
RX ERR INT ENA
SCI接收错误中断使能位
0 禁用此中断
1 使能此中断
5
SW RESET
软件复位,写0,复位SCI状态机与操作标志(SCICTL2与SCIRXST),不影响其余配置位。直至写1,所有起作用的逻辑均保持确定的复位状态,系统复位后,此位写1,才可使能SCI,当检测到一个接收间断时(BRKDT,SCIRXST(5)),清除该位。SW RESET影响的标志位如下
Value After
SW RESET SCI Flag Register Bit
1 TXRDY SCICTL2, bit 7
1 TX EMPTY SCICTL2, bit 6
0 RXWAKE SCIRXST, bit 1
0 PE SCIRXST, bit 2
0 OE SCIRXST, bit 3
0 FE SCIRXST, bit 4
0 BRKDT