7、串口(上)

1 数据通信

1.1 串行与并行

串行通信:数据逐位按照顺序依次传输

并行通信:数据通过多条线同时传输

名称

传输速率

抗干扰能力

通信距离

IO资源占用

成本

串行通信

较低

较强

较长

较少

较低

并行通信

较高

较弱

较短

较多

较高

1.2 单工、半双工、全双工通信

单工通信:数据只能沿单方向传输

半双工通信:数据能够双向传输,但是同一时间内只能沿一个方向

全双工通信:数据能同时双向传输

1.3 同步、异步通信

同步通信:数据发送方与接收方共用同一时钟信号

异步通信:没有时钟信号,通过在数据信号中加入起始位和停止位等一些同步信号进行同步

1.4 波特率

比特率:每秒钟传输的比特数,单位bit/s

波特率:每秒钟传输的码元数,单位Baud

比特率=波特率×log2 M,M表示每个码元所承载的信息量,二进制码元携带的信息量即为1比特

1.5 常见串行通信接口

通信接口

接口引脚

数据同步方式

数据传输方向

UART

TXD:发送端RXD:接收端

GND:公共地

异步通信

全双工

1-wire

DQ:发送/接收端

异步通信

半双工

IIC

SCL:同步时钟

SDA:数据输入/输出端

同步通信

半双工

SPI

SCK:同步时钟

MISO:主机输入,从机输出

MOSI:从机输入,主机输出

CS:片选信号

同步通信

全双工

2 串口(RS-232)

2.1 串口的概念

串口:串行通信接口,是按位进行发送和接收的接口。

RS-232中共有9个接口,在异步通信中只使用Pin2(串口数据输入)、Pin3(串口数据输出)和Pin5(信号地)。

2.2 RS-232电平

逻辑1:-15V ~ -3V 逻辑0:+3V ~ +15V

2.3 RS-232异步通信协议

一个数据帧=启动位+有效数据位+(校验位)+停止位

启动位:必须占1位长,保持逻辑0电平

有效数据位:可选5~9个位长,最低有效位在前,最高有效位在后

校验位:可以选占1个字长,也可以没有

停止位:必须有,可占0.5、1、1.5或2位长,保持逻辑1电平

3 USART

3.1 USART简介

Universal Synchronous Asynchronous Receiver Transmitter(USART),通用同步异步收发器。

Universal Asynchronous Receiver Transmitter(UART),通用异步收发器。

3.2 USART特征

1、全双工异步通信

2、单条线可实现半双工通信

3、单独的发送器和接收器使能位

4、可配置使用DMA的多缓冲器通信

5、多个带标志的中断源

3.3 引脚对应

3.3 USART波特率设置

在串口通信中,双方应当使用相同的波特率,F1系列中的波特率计算公式如下所示:

 

baud=\textit{\frac{\textit{f_{ck}}}{16×USART\_DIV}} 

  

其中fck是串口的时钟,USART1使用PCLK2,其他串口使用PCLK1。

3.4 USART寄存器

控制器名称

位

功能

参数

控制寄存器1 CR1

2

使能接收

0:禁止接收

1:使能接收

3

使能发送

0:禁止发送

1:使能发送

5

使能接收缓冲区非空中断

0:禁止产生中断

1:使能

10

检验控制

0:禁止检验控制

1:使能检验控制

12

配置数据位

0:8位数据

1:9位数据

13

使能USART

0:禁止1:使能

控制寄存器2 CR2

12 ~ 13

设置停止位

00:1个停止位

01:0.5个停止位

10:2个停止位

11:1.5个停止位

控制寄存器3 CR3

3

设置半双工选择

0:不选择半双工

1:选择半双工

数据寄存器DR

0 ~ 8

收发数据

-

状态寄存器SR

5

读数据寄存器状态

0:数据没有收到

1:收到数据,可以读出

6

发送完成检测

0:发送未完成

1:发送完成

posted @ 2026-08-14 15:47  老鼠学32  阅读(13)  评论(0)    收藏  举报