今天回顧了一下IIC通信的知識,突然之間對全雙工、半雙工和單工通信產生了一些小小的疑問?
然后自己去查了查資料,重新認識了他們的定義:
全雙工:表示通信雙方能夠同時的進行發送和接收數據,我之前的理解是:在一根通信線上能夠同時的進行發送和接收,后來想了想這明顯不對呀?
這不可能。在這里串口UART通信其實就是一個全雙工的例子,雙方能夠同時的進行發送和接收數據,還有就是網絡通信。
半雙工:表示通信雙的數據流是雙向的,但是不能同時的進行發送和接收,例如在 A 向 B發送數據的時候,B 就不能向 A發送數據,否則就會亂套。
這里IIC通信其實就是半雙工的例子,在一根SDA線上能夠主機發送數據給從機,也能夠從機發送數據給主機,但是不能同時。
單工:通信雙反的數據流是固定的,只能是從A-->B,或者是從 B--->A,也就是說,通信雙反一個作為發送者,一個作為接收者是固定的模式。