串口通信与全双工、半双工、单工

单工:通信双方只能单向传输    即任何时间都只能A---- >B不能B----->A   

半双工:同一时刻只能单向传输,但是可以A--->B也可以B---->A

全双工:同一时刻通信双方可以双向传输

把上述的概念放到串口通信中(I²C以及SPI)其它的不了解

1、无论是I²C还是SPI都不是单工的,应为他们都有收发数据的功能

2、SPI通信是全双工的,I²C是半双工的

3、SPI是有数据接收线和数据发送线的 两条数据线,也就是说它有两根线是专门用来传输数据的,这两根线都是单向的 分为MOSI MISO;一个发送数据时用,另一个接收数据时用

4、之前疑惑过为什么两根单向的线会是全双工。被单向迷惑了,两个单向的意义不同。首先SPI是既可以发送也可以接收,能不能同时发送和接收网上给出的答案是可以;一般情况我们一对一通信我们master给slave发送数据时只占用了数据发送线,而数据接收线是空闲的,两根线虽然都是单向但是两根线可以同时工作,于是就满足了全双工的定义。但是要实现的话需要自己把代码写好,因为时钟线只有一条所以要在同一个时钟下完成读写的data

5、至于 I²C只有一条数据线,所以它的数据线只有一根并且是双向的,但是同时只有一方可以发送数据,所以它是半双工的

6、总结一下SPI有两条单向数据线,全双工;I²C只有一条双向数据线,半双工

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值