当前位置: 代码迷 >> 综合 >> UART、USART、IIC、SPI
  详细解决方案

UART、USART、IIC、SPI

热度:49   发布时间:2023-12-26 21:59:28.0

UART与USART都是单片机上的串口通信,他们之间的区别如下:

首先从名字上看:

UART:universal asynchronous receiver and transmitter通用异步收/发器
[Bus Signal] TX , RX

USART:universal synchronous asynchronous receiver and transmitter通用同步/异步收/发器
[Bus Signal] TX, RX, CK

从名字上可以看出,USART在UART基础上增加了同步功能,即USART是UART的增强型
  
  其实当我们使用USART在异步通信的时候,它与UART没有什么区别,但是用在同步通信的时候,区别就很明显了:大家都知道同步通信需要时钟来触发数据传输,也就是说USART相对UART的区别之一就是能提供主动时钟。如STM32的USART可以提供时钟支持ISO7816的智能卡接口。

USART支持同步模式,因此USART 需要同步始终信号USART_CK(如STM32 单片机),通常情况同步信号很少使用,因此一般的单片机UART和USART使用方式是一样的,都使用异步模式。

I2C优点:占用资源少,只用到2根线,适用于IO口资源比较紧的场合,但是速度不及SPI了。
SPI优点:全双工工作,速度很快,适用于高速通信的场合,但是占用了4根线。
2块单片机相连,如果资源充足的话,当然是SPI了,速度快。
传输距离和抗干扰的话2个都差不多,取决于硬件电路的设计,比如总线上的上拉电阻阻值。2者都不适合长距离传输。