STM32再复习(八)7.26早

文章目录

      • I2C

I2C

STM32再复习(八)7.26早_第1张图片

串行通讯:
1.单工:单工数据传输只支持数据在一个方向上传输;在同一时间只有一方能接受或发送信息,不能实现双向通信,举例:电视,广播。
2.半双工:半双工数据传输允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;在同一时间只可以有一方接受或发送信息,可以实现双向通信。举例:对讲机。
3.全双工:工数据通信允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力;在同一时间可以同时接受和发送信息,实现双向通信,举例:电话通信。
I2C说白了就是有两根线SDA(数据线),SCL(时钟线)构成,然后它是一个半双工的工作模式。
I2C的协议如下:
1.空闲状态:SDA,SCL均为高电平即拉高的时候。
2.开始信号:SCL 为高电平时,SDA 由高电平向低电平跳变,开始传送数据。开始信号是一种电平跳变的时序信号,不是电平信号。
结束信号:SCL 为高电平时,SDA 由低电平向高电平跳变,结束传送数据。结束信号是一种电平跳变的时序信号,不是电平信号。
3.应答信号:接收数据的 IC 在接收到 8bit 数据后,向发送数据的 IC 发出特定的低电平脉冲,表示已收到数据。CPU 向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU 接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。**说白了就是:在应答的时候,SDA要有足够的时间拉低,保证了在这个期间SCL一直都为高电平。**如图:
STM32再复习(八)7.26早_第2张图片
4.数据的有效性:数据在SCK的上升沿到来之前需要准备好,并在数据的下降沿到来之前必须稳定。及就是SDA高电平持续周期必须包含了SCL高电平的持续周期

你可能感兴趣的:(STM32再复习(八)7.26早)