STM32学习——IIC

目录

IIC总线协议

IIC前置

介绍

IIC硬件软件区别

IIC总线拓扑图

IIC协议

IIC协议时序

代码编写

起始信号​编辑

停止信号

检测应答信号

发送应答信号

发送非应答信号

发送1字节数据

读取1字节数据

AT24C02

简介

AT24C02xx系列

通讯地址

AT24C02读写时序

AT24C02驱动步骤

配置

IIC配置:​编辑

AT24C02配置:


IIC总线协议

IIC前置

介绍

Inter Integrated Circuit ,集成电路总线,是一种同步(有时钟) 串行 半双工 通信总线。

IIC总线 IIC协议,两者都是指IIC,总线偏硬件,是传输数据通道,协议偏软件,是传输数据的规则。

IIC硬件软件区别

IIC总线拓扑图

  • 第三点,每个器件都有自己的电容,fSCL 的频率是数据传输速率
IIC协议

IIC协议时序***!!!最重要!!!!

  • 起始 、停止

    • 从机获得 SCL高、SDA下降沿信号,会自身复位,等待主机

      • 主机会再把SCL拽下来,占用总线,并保证,每个时序单元的SCL都是以低电平开始,低电平结束,这样SCL才能接续

    • 停止之前,也就是应答位之后,会拉低SDA,此时SCL高电平读的就是上升沿信号

  • 主机发送一个字节(高位先行,和串口时序不一样【低位先行】

    • 主机拉高SCL,从机在SCL上升沿就会读走数据,主机拉低SCL,准备下一位数据;但是主机拥有SCL主导权,可以在低电平时准备数据,晚点没关系。依次循环8次,即发送一个字节

    • 因为主机才可以控制SCL时钟线,所以主机在发送字节时,有中断发生,主机不再操作SCL和SDA,时序会在中断的位置不断拉长,SCL、SDA电平都暂停变化,传输也完全暂停,等中断结束后,主机再回来操作

    • 在发送字节时,主机全程控制SCL、SDA,而从机是在SCL高电平时,依次读取SDA。

  • 主机接收一个字节

    • SCL低电平时,将数据放在SDA上,主机在SCAL高时读取

    • 主机在接收之前,需要释放SDA。

      • 所有设备,包括主机都始终处于输入模式,当主机需要发送的时候,就可以主动拉低SDA,主机在被动接收时,必须先释放SDA,从机就可以控制SDA数据线,即发送数据位 1/0;

        • (总线的 线与 特征,任何一个设备拉低,总线就是低电平,如果主机接收时,还控制SDA,别人发什么数据,总线都是低电平)

      • 主机控制SCL时钟线:从机的数据变换基本上是 SCL时钟线下降沿进行的,主机可以在SCL高电平时任意读取

  • 应答

    • 主机发送应答

      • 主机在接收完一个字节后,在下一个时钟发送一位数据,0是应答(告诉从机继续发),1是非应答。

        • 从机接收应答位1 ,认为主机不需要从机继续发送数据,从机就会释放SDA数据线控制,SDA线会拉高。

    • 主机接收应答

      • 从机接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值