1、串行接口串行通信分为同步串行与异步串行两种,同步串行通信时发送端在数据发送前使用同步字符指示接收端准备好,使用 CLK 信号实现同步,然后直接发送多个数据,不需要起始位与停止位,传输效率较高,缺点是硬件复杂,只用在较为特殊的场合。异步串行通信常设计为 UART 控制器,工业标准为 16C550。UART 使用 RX 与 TX 两个引腿,可以配置为全双工或半双工两种收发模式。全双工时在同一时刻 TX 可以发送数据 RX 可以接收数据,半双工时在同一时刻 TX 与 RX 只能有一个在工作。串行数据以字节为单位发送,一次发送一个字节数据,包括 1 个起始位、78 个数据位、奇偶校验位、12 个停止位
2、及若干空闲位,称为一帧数据,如图所示。起始位、奇偶校验位、停止位及空闲位由硬件自动实现,完成初始化后读写接收/发送缓冲区即可。串行总线波特率的概念:UART 为 TTL 电平,传输的数据为基带信号,即为方波信号,波特率是指每秒传输的方波的个数,也就是位的个数。在 UART 基础上,配置不同的驱动器可以设计为多种串行总线,如 RS232、RS485 等。RS232 传输的依然是方波信号,只是电平被转换为12V,即逻辑 0 用+12V 表示,逻辑 1 用-12V 表示,如下图。该类数据传输的缺点是容易受干扰,速度慢,距离短。RS232使用标准 DB9 连接器,1 空 62 RX 73 TX 8 CTS 清除发送4 DTR 数据终端准备好 可以接收 95 GNDRS485 总线采用差分电气连接,克服了 RS232 的缺点。下图中 RE 为接收使能,DE为发送使能,A B 为差分总线。设计中 RO 与 MCU 的 RX 相连,DI 与 MCU 的 TX 相连,RE 与 DE 相与后使用 MCU 的 IO 控制驱动器为接收或发送;两个驱动器互连时, A 连A,B 连 B 即可。因为 AB 是差分线,所以实际使用中只能是半双工模式。