STM32中IIC协议[通俗易懂]

IIC协议:接收器和发送器:物理层:SCL–时钟总线SDA–数据总线开始条件:SCL高电平,SDA由高变低停止条件:SCL高电平,SDA由低变高主机:用来产生SCL(发送数据和接收数据)从机:(发送数据和接收数据)总线空闲态:SDA为高电平(没有设备发送开始条件)写:1.主机发送开始条件2.发送从机地址(7位)+写

大家好,又见面了,我是你们的朋友全栈君。IIC协议:


接收器和发送器:


物理层:SCL — 时钟总线


SDA — 数据总线


开始条件:SCL高电平,SDA由高变低


停止条件:SCL高电平,SDA由低变高


主机:用来产生SCL(发送数据和接收数据)


从机:(发送数据和接收数据)


总线空闲态:SDA为高电平(没有设备发送开始条件)


写:


1.主机发送开始条件


2.发送从机地址(7位 )+ 写(0)


3.从机 会产生一个应答信号(一个CLK下,把SDA拉低)


4.主机得到应答信号,发送8位数据。


5.从机 会产生一个应答信号


6.重复 4.5 过程,直到主机发送停止条件


读:


1.主机发送开始条件


2.发送从机地址(7位)+读(1)


3.从机 会产生一个应答信号(一个CLK下,SDA拉低)


4.从机给主机发送8位数据


5.主机给从机发送 应答


6.从机得到应答,接着发送8位数据。


7.重复5.6过程,直到主机不发送应答信号和产生停止信号


2.AT24C02


E2PROM:存储芯片 — 容量小,可以随机读和写,掉电不丢失


大小:2K(bit)/8=256字节 


寻址:地址总线


串行:


并行:1.多大容量 — 多少根


     2.容量分为块 — 


     3.容量分为行和列 —  大容量ROM


256字节=32页 *8


写:


随机写:


页写:


注意:(页写–只能写一页)


读:


当前地址读:


随机读:


顺序读:


注意:
1.读过程,发两次地址(从机地址)


2.要发送停止信号前,主机不能发送应答信号


STM32:


读写 — 事件(每个过程都产生一个事件)


根据事件来判断操作过程是否完成。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129629.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号