Skip to content

UART通用异步收发接口【时钟线不同,USART才是】

并行

需要多根线

  • 速度快
  • 总线太多,浪费资源,还有信号干扰

image-20250627201250185

串行(uart,spi,iic)

单根线发送

  • 速度较慢,数据比较稳定

image-20250627201418410

半双工和全双工

UART就是全双工的【收发有各自的线】,可以同时收发

IIC就是半双工的,只有一根线SDL

波特率

  • 串口的通信速率,单位是bps,bit/s,每秒钟传输的位数,两个设备需要保证相同的通信速率,否则乱码

  • 累计误差(异步的话,两个的时钟是不同的,会有误差,)

    • 如何区分发了一个1还是两个1,或0,通过掐时间
    • 如果区分1111111111呢?还需要掐时间

    通过波特率解决,同时每次发送一个字节通过也避免了对后续的干扰

UART

每次只能一个一个字节的发【避免了累计误差,下一个重新发送,防止前面错误干扰后面】

格式是

  • 起始位(固定0),与空闲时区分(1),通信开始

  • 数据位,先发低位后发高位

  • 校验位,CRC,奇偶校验啥的,一般不需要,增加传输压力

  • 停止位,固定是1,通信结束,继续保持1(进入空闲)

image-20250627202249607

案例

  • TTL转232,这里电路提升了TTL,使其抗干扰能力和传输距离更远

设置引脚功能的本质就是开关连接到不同功能的电路

image-20250627204747935