SPI与IIC通讯详解

SPI通讯协议

传送门:https://www.cnblogs.com/deng-tao/p/6004280.html
个人觉得这个是网上比较详细的SPI通讯协议详解了;

IIC通讯协议

IIC协议
总线信号 :

SDA :串行数据线

SCL :串行时钟

总线空闲状态 :

SDA :高电平

SCL :高电平

起始位:SCL为高电平期间 SDA出现下降沿
在这里插入图片描述
终止位:SCL为高电平期间 SDA出现上升沿

在这里插入图片描述

数据传输 :SDA的数据在SCL高电平期间被写入从机。所以SDA的数据变化要发生在SCL低电平期间。

在这里插入图片描述
应答信号

每当主机向从机发送完一个字节的数据,主机总是需要等待从机给出一个应答信号,以确认从机是否成功接收到了数据,从机应答主机所需要的时钟仍是主机提供的,应答出现在每一次主机完成8个数据位传输后紧跟着的时钟周期,低电平0表示应答,1表示非应答
在这里插入图片描述
IIC写时序
在这里插入图片描述

  • 产生start位

  • 传送器件地址ID_Address。器件地址的最后一位为数据的传输方向位,R/W,低电平0表示主机往从机写数据(W),1表示主机从从机读数据(R)。ACK应答,应答是从机发送给主机的应答,这里不用管。

  • 传送写入器件寄存器地址,即数据要写入的位置。同样ACK应答不用管。

  • 传送要写入的数据。ACK应答不用管

  • 产生stop信号。

IIC连续写时序
多数据写时序,写入器件地址,写入寄存器地址,连续写入数据。
在这里插入图片描述
IIC读时序
在这里插入图片描述

  • 产生start信号

  • 传送器件地址(写ID_Address),ACK。

  • 传送字地址(写REG_Address),ACK。

  • 再次产生start信号。

  • 再传送一次器件地址,ACK。

  • 读取一个字节的数据,读数据最后结束前无应答ACK信号。

  • 产生stop信号。
    IIC连续读时序
    多数据读时序,写入器件地址,写入寄存器地址,,然后再次写入器件地址,连续写入数据。读数据最后结束前无应答ACK信号。
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值