按数据通信方式分类:
- 串行通信:数据逐位按顺序依次传输。传输速率较低,抗干扰能力较强,通信距离较长,I/O资源占用较少,成本较低。
- 并行通信:数据各位通过多条线同时传输。
按数据传输方向分类:
- 单工通信:数据只能沿一个方向传输,广播站。
- 半双工通信:数据可以沿两个方向传输,但需要分时进行。
- 全双工通信:数据可以同时进行双向传输。
按数据同步方式分类: - 同步通信:共用同一时钟信号。
- 异步通信:没有时钟信号,通过在数据信号中加入起始位和停止位等一些同步信号。
波特率:
- 比特率:每秒钟传送的比特数,单位bit/s。
- 波特率:每秒钟传送的码元数,单位Baud。
二进制系统上,波特率数值上等于比特率。
常见串行通信接口
- UART:通用异步收发器,有TXD发送端、RXD接收端、GND公共地,异步通信,全双工。
- IIC:SCL:同步时钟,SDA:数据输入/输出端,同步通信,半双工。
- SPI:SCK:同步时钟,MISO,MOSI,CS,同步通信,全双工。
串口
串行通信接口:按位发送和接收的接口。如:RS-232等。
两个设备之间的TXD和RXD,必须交差连接,方可正常通信。
STM32串口与电脑USB口通信
RS-232异步通信协议
- 启动位:必须占1个位长,保持逻辑0电平。
- 有效数据位:可选5…9个位长,LSB最低有效位在前。
- 校验位:可选1个位长,也可以没有该位。
- 停止位,保持逻辑1电平,可选位长。
STM32的USART
universal synchronous asynchronous receiver transmitter,通用同步异步收发器。
UART/USART都可以与外部设备进行全双工异步通信。