半双工:可以发也可以收,但不能收发
双向双工:D端既有Rx也有Tx,既可以读也可以写,可以同时收发
I2C(Inter Integrated Circuit)总线是 PHILIPS 公司开发的一种半双工、双向二线制同步串行总线。
I2C 总线传输数据时只需两根信号线:一条传输数据的data线和同步数据的CLK
☐ 双向数据线 SDA
☐ 双向时钟线 SCL
殿试支持多主多从设备主机主动发出一个请求,从机发出一个响应;时钟线起始线处于一个高电平,数据线SDA产生一个从高到低的互跳电,这样就是一个起始条件;停止条件时钟线处于高电平,数据线由低到高的正跳电;在时钟线的高电平进行读取;ack主机给从机发送一个信号给从机,从机应答给主机一个响应,数据线一个低电平就是一个应答信号,
协议:
单字节读:
第一个是发送到从机的地址0号位是写位,当从机接收信号立即ack应答一个消息低电平,主机接收到应答立刻发送注册的寄存器的地址,从机又有一个应答,有应答就有通讯,没有应答就没有通信了,R就是读,就知道读那个寄存器,从机应答发送数据,主机发一个非应答和停止信号,一次通信结束。
多字节都
:发送的是其实信号+从机地址+写的方向+寄存器的地址+重复其实起始地址+设备地址+读的方向+回的数据会的ak是应答,回的是应答,从机就返回数据;当回的是非应答,当你回答的是非应答和停止信号结束通讯主机发起始信号+主机地址+写的方向,一旦有应当就发送一个寄存器的地址,回了应答信号,写进寄存器中的数据发送出去,那么从机就会把数据写入到对应的寄存器地址中,写完一个我们的从机会回应一个应答,回应一个主机发送一个停止信号,通讯结束,这我们就发了一个字节的数据
多字节写只要不发送停止信号,我们的从机会一直发送数据写道对应的地址,地址会递增的,直到发送一个停止协议,才会停止通讯
1.1、访问I2C总线设备
☐ 查找 I2C 总线设备
☐ 数据传输