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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 淘宝核心系统团队博客在哪_团队理念

    淘宝核心系统团队博客在哪_团队理念http://rdc.taobao.com/blog/cs/?paged=2这是 淘宝核心系统团队的博客,核心系统团队的总目标是为淘宝和阿里集团打造一个高性能、高可扩展、低碳、低成本、稳定可靠的软件基础设施平台。目前的主要工作领域如下图所示:

    2022年8月13日
    6
  • Android常用控件

    Android常用控件TextView显示文本<TextViewandroid:id="@+id/text_view"android:layout_width="match_pa

    2022年7月2日
    24
  • Linux VI文本编辑器

    Linux VI文本编辑器VI文本编辑器  学会使用vi编辑器是学习Linux系统的必备技术之一,因为一般的Linux服务器是没有GUI界面的,Linux运维及开发人员基本上都是通过命令行的方式进行文本编辑或程序编写的。vi编辑器是Linux内置的文本编辑器,几乎所有的类unix系统中都内置了vi编辑器,而其它编辑器则不一定,另外很多软件会调用vi编辑进行内容编写,例如cront…

    2022年7月26日
    9
  • Python 获取时间戳_python精确到毫秒时间戳

    Python 获取时间戳_python精确到毫秒时间戳python获取当前时间戳的方法:1、使用time模块,语法为“time.time()”;2、使用datetime模块,语法为“datetime.datetime.now().timestamp()”。使用模块timeimporttimenow=time.time()print(now)1593580247.232345使用模块datetime模块datetime提供了以更面向对象的方式操作…

    2022年10月2日
    4
  • oracle 11g安装教程_暖气片安装方法图解

    oracle 11g安装教程_暖气片安装方法图解Oracle11G安装图解标签(空格分隔):oracleOracle介绍  OracleDatabase,又名OracleRDBMS,或简称Oracle是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的

    2022年9月21日
    3
  • CFileDialog的使用方法简单介绍

    CFileDialog的使用方法简单介绍

    2021年11月30日
    51

发表回复

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

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