串口模式
扫描二维码
随时随地手机看文章
USART0和USART1是串行通信接口,两个USART具有同样的功能,能够分别运行于异步UART模式和同步API模式。
1 串口模式
UART模式提供异步串行接口,在UART模式中,有2中接口选择方式:2线接口和4线接口:
2线接口:使用RXD(P0_2)、TXD(P0_3)。
4线接口:使用引脚RXD(P0_2)、TXD(P0_3)、RTS(P0_5)和CTS(P0_4)。
UART模式的操作具有以下特点:
8位或者9位负载数据。
奇校验、偶校验或者无奇偶校验。
配置起始位和停止位。
配置LSB(最低有效位)或者MSB(最高有效位)首先传送。
独立收发中断。
独立收发DMA触发。
奇偶校验和帧校验出错状态。
UART模式提供全双工传送,接收器中的位同步不影响收发功能。传送一个UART字节包括1个起始位,8个数据位,1个作为可选的第9位数据或者奇偶校验位,再加上1个或者2个停止位。UART操作由USART和状态寄存器UxCSR以及UART控制寄存器UxUCR来控制,这里的x是USART的编号,其数值为0或1、
位
名称
复位
R/W
描述
7
MODE
0
R/W
USART模式选择:
0:SPI模式
1:UART模式
6
RE
0
R/W
启动UART接收器。注意UART完全配置之前不能接收。
0:禁止接收器
1:使能接收器
5
SLAVE
0
R/W
SPI主或者从模式选择
0:SPI主模式
1:SPI从模式
4
FE
0
R/W0
UART帧错误状态
0:无帧错误检测
1:字节收到不正确停止位级别
3
FRR
0
R/W0
UART奇偶校验错误状态
0:无奇偶校验
1:字节收到奇偶错误
2
RX_BYTE
0
R/W0
接收字节状态,UART模式和SPI模式。当读U0DBUF时该位自动清零,通过写0清除它,这样能有效丢弃U0BUF中的数据。
0:没有接收字节
1:接收字节就绪
1
TX_BYTE
0
R/W0
传送字节状态,UART和SPI从模式
0:字节没有传送
1:写到数据缓存寄存器的最后字节已传送
0
ACTIVE
0
R
USART传送/接收主动状态:
0:USART空闲
1:USART在传送或者接收模式忙碌
选择USART模式为UART模式并允许接收寄存器设置示例:
//设置UART模式 U0CSR |= 0X80; //允许接收 U0CSR |= 0x40;
位
名称
复位
R/W
描述
7
FLUSH
0
R/W1
清除单元。当设置时,该事件将会立即停止当前操作并返回单元的空闲状态。
6
FLOW
0
R/W
UART硬件流使能。从RTS和CTS引脚选择硬件流控制的使用
0:流控制禁止
1:流控制使能
5
D9
0
R/W
UART奇偶校验位。当使能奇偶校验,写入D9的值决定发送的第9位的值。如果收到的第9位不匹配收到的字节的奇偶校验,接收报告ERR。
0:奇校验
1:偶校验
4
BIT9
0
R/W
UART9位数据使能。当该位是1时,使能奇偶校验位传输即第9位。如果通过PARITY使能奇偶校验,第9位的内容通过D9给出。
0:8位传输
1:9位传输
3
PARITY
0
R/W
UART奇偶校验使能。除了为奇偶校验设置该位用于计算,必须使能9位模式
0:禁用奇偶校验
1:使能奇偶校验
2
SPB
0
R/W
UART停止位数。选择要传送的停止位的位数
0:1位停止位
1:2位停止位
1
STOP
0
R/W
UART停止位的电平,必须不同于开始为的电平
0:停止位低电平
1:停止位高电平
0
START
0
R/W
UART起始位电平,闲置先的极性采用选择的起始位级别的电平相反的电平
0:起始位低电平
1:起始位高电平
当UxCSR.MODE设置为1时,就选择了UART模式。当USART收发数据缓冲器UxDBUF写入数据时,该字节发送至输出引脚TXD。UxDBUF寄存器是双缓冲的。
位 名称 复位 R/W 描述 7:0 DATA[7:0] 0x00 R/W USART接收和传送数据。当写这个寄存器的时候数据被写到内部的传送数据寄存器,当读取该寄存器的时候,数据俩字内部读取的数据寄存器。 需读出U0DBUF接收的字符串数据,寄存器的设置示例:
//定义一个字符型变量 unsigned char temp; //读出U0DBUF中的数据 temp = U0DBUF;
1)UART的发送过程
2)UART的接收过程
3)UART的硬件流控制
4)UART的特征格式
5)波特率的产生
6)系统时钟的设置