STM32常用通信方式总结-IIC,SPI,USART/UART,232,485,CAN,USB,TypeC

STM32常用通信方式总结-IIC,SPI,USART/UART,232,485,CAN,USB,TypeC_第1张图片通信协议划分原理

1.通信协议划分

1.1串行和并行

	串行通信就是设备之间通过少量的线,进行一位一位的数据传输.
	并行通信就是使用多根数据线同时进行数据传输.

1.2 全双工、半双工、单工

全双工:在同一时刻,两个设备之间可以同时收发数据.
半双工:两个设备之间可以收发数据,但不能在同一时刻进行.
单工:在任何时候都只能进行同一个方向的通信,即一个固定位发送设备,另一固定位接收设备.

1.3同步和异步

同步:以时钟线来传输数据的,就是说,发送和接收的时序相同(IIC、SPI)
异步:没有时钟线,以数据帧格式来传输数据的

2.通信协议区别

2.1 IIC:标准模式下速度达到 100Kb/S,快速模式下达到 400Kb/S

SCL(串行时钟线)
SDA(串行数据线)
一般3.3V上拉4.7K电阻使用与MCU连接

2.2 SPI:几十M到几百MHz

1.CS/SS(Slave Select/Chip Select),这个是片选信号线,用于选择需要进行通信的从设备。I2C 主机是通过发送从机设备地址来选择需要进行通信的从机设备的,SPI 主机不需要发送从机设备,直接将相应的从机设备片选信号拉低即可
2.SCK(Serial Clock),串行时钟,和 I2C 的 SCL 一样,为 SPI 通信提供时钟。
3.MOSI/SDO(Master Out Slave In/Serial Data Output),简称主出从入信号线,这根数据线只能用于主机向从机发送数据,也就是主机输出,从机输入。
4.MISO/SDI(Master In Slave Out/Serial Data Input),简称主入从出信号线,这根数据线只能用户从机向主机发送数据,也就是主机输入,从机输出.

2.3USART/UART

USART:通用同步和异步收发器,UART的增强
UART:通用异步收发器

2.4UART一般使用流程

使用时为:CPUA->UART(TTL电平)
到发232,485,USB等(TTL电平转换为对应接口电平芯片)
到收232,485,USB等(对应接口电平转换为TTL电平芯片)
CPUB->UART(TTL电平)

3.接口232,485,CAN,USB,TypeC

这些接口都是异步串行接口,用于将UART的TTL电平转换为其他的电平,实现远距离通信等

3.1 COM口232

其中232接口在PC中也叫COM口,
现在有很多USB接口的虚拟串口

你可能感兴趣的:(stm32,单片机,arm)