1.简介
在stm32的学习中,我们会用到很多种通讯方式,每一种通讯方式有其独特的方式和优点,那么我们今天就来讲讲通讯方式之间的区别,我们分为三个方向 1.同步和异步 2.串行和并行 3.方向与时间
2.同步和异步
同步:通俗的来讲就是同步做某一件事,比如一群广场舞大妈一起跳广场舞的时候他们都跟着同一个音乐和节拍跳舞 而我们可以理解为这个音乐信号就是外部提供的 也就是我们的时钟线如下图通信中的时钟信号就是我们的时钟线 在有了这个时钟线的作用下 ,这个所谓的时钟线就是我们两个设备之间约定一个通信频率进行通信 常见同步通信的有 IIC SPI USART
异步:异步通俗的来讲就是一个快递员和我们的关系,我们需要收东西的时候快递员不一定有时间发东西,快递员发东西的时候我们不一定有时间收东西,那这个时候为了这个东西能到我们手上,就有了快递这个东西,比如在我们串口通信的时候这个所谓的快递就是我们的波特率,两个设备阅读一个相同的波特率,在这个相同的波特率下,我们完成了信号的传输,常见的异步通信有 uart can
同步通讯与异步通讯的区别
*同步通讯时,由于时钟同步,通讯双方收发的数据都是连续的比特流。异步通讯时,时钟无需同步,通讯双方收发数据,可以断断续续的发送,发送方任意时长后发送下一个字节,这都是允许的
*同步通讯的效率更高,异步通讯的效率较低
*同步通讯硬件较为复杂,因为需要保持时钟信号的同步。异步通信硬件较为简单,因为无需同步时钟信号
*同步通信可以实现一对多通讯。而异步通信只能实现点对点通讯
3.串行并行
串行通信只有一根线信号在这一根新上进行传输,如下图它的传输是在一条线上,发送的数据必须一个接着一个的发送
而并行通信,顾名思义有很多条线进行数据的传输,发送的数据在不同的线上,并排被发送到另一个设备 这些数据之间互相不干扰,不影响。
总结:在日常的生活中,我们常使用的通信方式是串行通信,因为串行通信在通信中不涉及多跟线的问题,只有一根线使电路的复杂度减小,同时在通信的时候串行通信的速度要快于并行通信,这个点就有很多人不理解了,道理来说并行通信线多传输速率应该更快,但为什么串行的速率要大于并行,原因是:并行传输虽然一次可以发出多个数据,但是鱼实际使用中,多条线路同时发送数据会造成线路震荡,为了避免这样的干扰,就必须将两次发送之间的间隔时间加大,而串行传输不会有这个影响。
4.方向与时间
我们将此分为三个大类 全双工 半双工 单工
全双工
在通信的任意时刻,线路上存在A到B 和B到A的双向信号传输,这个意思就是在A给B传输的时候,B也可以给A进行传输
半双工
可以现实双向的通信,但不能在两个方向上同时进行,必须要轮流交替进行,就是A可以给B传输,B可以给A传输,但A和B不能同时工作。
单工
发送端只能发送信息,不能接受信息;接收端只能接受信息,不能发送信息