通信协议:制定通信的规则,通信双方按照协议规则进行数据收发。STM32里的通信协议有如下表:(引脚列出的只是最简单最常用的值得注意的)
全双工为输入输出可同时进行,半双工为既可以输入也可以输出但不能同时进行,单工指只能输出或输入。
I2C和SPI有时钟线SCL为同步通信,没时钟线的为异步通信,需要双方约定一个采样频率,且需要加一些帧头帧尾等进行采样位置的对齐。
电平特性,单端就是它们引脚的高低电平都是对GND的电压差,所以单端信号通信的双方必须要共地,就是把GND接在一起。后两种CAN和USB为差分数据通信,靠两个差分引脚的电压差来传输信号的,在通信时可以不用GND,不过USB协议里有些地方要单端信号,它还是需要共地的。差分信号有好的抗干扰特性,所以一般它的传输速度和距离都会比较高性能也不错。
USART和USB属于点对点通信,中间三个可挂载多个设备,需要一个寻址过程(设备编号)。