UART、I2C、SPI通信精简总结---》嵌入式简单说

UART通信(异步半双工/全双工 速率根据波特率来决定)

三根线:TXD发送端,RXD接收端,GND公共地
数据格式:开始标志位,8位数据位,1位奇偶校验,1位停止位
重点—停止位的作用:数据发送的结束、校准时钟,停止位越多校准就越准确

I2C通信(同步半双工 速率100K/400K/3.4M)

两根线:scl时钟线,sda数据线
三种信号:起始信号(scl高电平,sda下降沿),停止信号(sda上升沿),应答信号(低电平)
两种时序

  • 写(start + (7位addr+1位 0写) + ack + reg addr + ack + data + ack + stop)
  • 读(start + (7位addr+1位 0写) + ack + reg addr + ack + start + (7位addr+1位 1读) + ack + recv data + NO ack + stop)

SPI通信(同步全双工 速率4M/6M/8M/12M/16M)

四根线:MISO主入从出,MOSI主出从入,CLK时钟线(主机产生),/CS片选信号(低电平有效)
三种信号:起始信号(片选cs由高变低),停止信号(片选cs由低变高),数据传输(每个时钟周期触发和采样,每次传输数据单位数不受限制)
四种通信模式:由时钟极性(CPOL)时钟相位(CPHA)两项决定主从设备间数据采样的约定方式

  • 时钟极性(CPOL):设置时钟空闲时的电平
  • 时钟相位(CPHA):设置数据采样的时钟沿(奇数沿采样还是偶数沿采样)

喜欢的可以关注一下松鼠哥的公众号----嵌入式简单说
UART、I2C、SPI通信精简总结---》嵌入式简单说