【嵌入式】STM32通讯方式
按传输的数据位区分
串行通讯: 设备间通过少量数据信号线(一般8根以下),地线以及控制信号线,按照数据位一位一位的传输数据的方式叫做串行通讯。看名字也能看出,串行就是按位一个一个的串行通过,类似于单人通道。
并行通讯: 一般指使用8/16/32/64根或者更多的数据线进行数据传输的通讯方式,同一时刻可以传输多位数据。可以理解为并排通过的大马路。
以信道方向区分
全双工: 在同一时刻,两个设备间可以同时收发数据。(双向、同时)
半双工: 两个设备之间可以双向收发数据,但是同一端不能在同一时刻的既收数据又发数据。(双向、不同时)
单工: 任何时刻,数据只能单向流通,固定一端收,一端发。(单向)
根据时钟信号区分
同步通讯: 收发双方至少一根信号线一根数据线,在时钟信号的驱动下,双方同步数据,通讯双方会统一规定在时钟信号上升沿或者下降沿对数据采样。
异步通讯: 不使用时钟信号同步数据,不使用信号线,直接在数据中加入用于同步的信号位,以数据帧的格式传输数据,有时候还要约定收发双方的传输速率。一般数据帧格式为(起始位+数据+校验位+结束位)。
通讯的速率
比特率: Bitrate,每秒钟传输的二进制位数,单位是bit/s。
波特率: Baudrate,每秒钟传输的码元数量。码元是通讯信号调试的一个概念,通讯中常用时间间隔相同的符号来表示一个二进制数字,这样的信号称为码元。比如,常用的0V电压表示二进制0,5V电压表示二进制1,那么一个码元可以表示0和1两种状态,此时,一个码元相当于1个bit位。如果用0V电压表示00,2V电压表示01,4V电压表示10,6V电压表示11,那么每个码元有四种状态,相当于两个bit位,这时候,波特率是比特率的1/2。