STM32学习笔记之串口协议

通信接口

通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统

通信协议:制定通信的规则,通信双方按照协议规则进行数据收发

STM32学习笔记之串口协议_第1张图片

 双工:

全双工:通信双方能够同时进行双向通信,有俩根通信线,比如USART(SPI)一根TX发送、一根RX接收。

半双工:只有一根数据线。

单工:数据只能从一个设备到另一个设备,不能反着来。

—————————————————————时钟:

同步:I2C和SPI都有单独的时钟线,接受方可以在时钟信号的指引下进行采样

异步:没有时钟线,需要双方约定一个采样频率,并且需要加一些针头针尾,进行采样位置的对齐

—————————————————————

电平:

单端:引脚的高低电平都是对GND的电压差,所以单端信号的双方必须要共地,就是把GND接在一起

差分:靠俩个查分引脚的电压差来传输信号,可极大地提高抗干扰特性,通信的时候可以不接GND

——————————————————————————————————————————

USART串口:

TX(TXD):数据发送脚;

RX(RXD):数据接受脚

—————————————————————

I2C通信:

SCL:数据

SDA:时钟

—————————————————————

SPI通信:

SCLK:时钟

MOSI:主机输出数据脚

MISO:主机输入数据脚

CS:片选,用于指定通信的对象

—————————————————————

CAN通信:

CAN_H、CAN_L是差分数据脚,用俩个引脚表示一个差分数据

—————————————————————

USB通信:

DP、DM也是差分数据脚

——————————————————————————————————————————

串口参数及时序:

波特率:串口通信的速率

起始位:标志一个数据帧的开始,固定为低电平(告诉接收设备,这一帧数据要开始了,产生下降沿,表示传输开始)

数据位:数据帧的有效载荷,1为高电平,0为低电平,低位先行(一种是把校验位作为数据位的一部分,另一种是把数据位和校验位独立开)

校验位:用于数据验证,根据数据位计算得来{使用奇偶校验的数据验证法,如果数据出错可以选择丢弃或者要求重传;

有三种方式:

无校验:不需要校验位

奇校验:包括校验位在内的9位数据会出现奇数个1(发送方在发送数据后,会补一个校验位,保证1的个数为奇数;接受方在接收数据后,会验证数据位和校验位;如果1的个数还是奇数,就认为数据没有错)

偶校验:与奇校验一样}

停止位:用于数据帧间隔,固定为高电平(把引脚恢复为高电平,方便下一次的下降沿)

 

你可能感兴趣的:(stm32,学习,笔记,嵌入式硬件)