今天回顾了一下IIC通信的知识,突然之间对全双工、半双工和单工通信产生了一些小小的疑问?
然后自己去查了查资料,重新认识了他们的定义:
全双工:表示通信双方能够同时的进行发送和接收数据,我之前的理解是:在一根通信线上能够同时的进行发送和接收,后来想了想这明显不对呀?
这不可能。在这里串口UART通信其实就是一个全双工的例子,双方能够同时的进行发送和接收数据,还有就是网络通信。
半双工:表示通信双的数据流是双向的,但是不能同时的进行发送和接收,例如在 A 向 B发送数据的时候,B 就不能向 A发送数据,否则就会乱套。
这里IIC通信其实就是半双工的例子,在一根SDA线上能够主机发送数据给从机,也能够从机发送数据给主机,但是不能同时。
单工:通信双反的数据流是固定的,只能是从A-->B,或者是从 B--->A,也就是说,通信双反一个作为发送者,一个作为接收者是固定的模式。