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)
上一篇 2022年4月14日 下午10:20
下一篇 2022年4月14日 下午10:40


相关推荐

  • 2021年系统集成项目管理工程师(软考中级)连夜整理考前重点

    2021年系统集成项目管理工程师(软考中级)连夜整理考前重点第一章信息化基础知识一 信息与信息化 1 信息论奠基者香农认为 信息就是能够用来消除不确定性的东西 8 种状态需要 3 位比特表示 5 位比特则可表示 64 种状态信息 物质材料 能源是三大戓略资源 2 信息论两个层次 本体论和认识论 3 信息传输模型 信源 编码 信道 解码 信宿 其中噪声干扰的是信道 4 信息系统 6 大特点 目的性 可嵌套性 稳定性 开放性 脆弱性 健壮性 5 信息系统由硬件 软件 数据库 网络 存储设备 感知设备 外设 人员把数据处理成信息的规程等 6 信息系统生命周期可简化为

    2026年3月18日
    2
  • 微信公众账号开发

    微信公众账号开发微信开发微信公众平台开发(82)天气预报摘要:在这篇教程中,我们将介绍如何在微信公众平台上开发天气预报功能。我们将使用中国天气网的气象数据接口来获取天气信息。这篇教程将介绍以下内容:获取中国天气网的气象数据在微信公众平台中回复天气一、中国天气网中国天气网提供了丰富的气象数据接口。下面我们介绍主要的几个:国家根节点接口:http://flash.weather.c

    2022年5月25日
    36
  • win10和linux双系统安装步骤(详细!)

    win10和linux双系统安装步骤(详细!)Windows10安装ubuntu双系统教程ubuntu分区方案

    2022年7月24日
    25
  • happypack多线程打包配置

    happypack多线程打包配置安装插件 npminstallha dev 配置 vue config js 中进行配置 顶部引入 constHappyPa require happypack consthappyTh HappyPack ThreadPool size os cpus length chainWebpack config config plugin happypack use HappyPack

    2026年3月26日
    2
  • Java:Map转List (用stream实现)

    Java:Map转List (用stream实现)例子 Map Integer String mapDemo newHashMap lt gt map put 10 apple map put 20 orange map put 30 banana map put 40 watermelon map put 50 dragonfruit 一 Map Integer Object 转 List amp l Integer Object Integer String

    2026年3月16日
    1
  • bigdecimal除法运算保留两位小数_bigdecimal保留两位小数显示00

    bigdecimal除法运算保留两位小数_bigdecimal保留两位小数显示00**问题:**将两个long类型的数相除后转换为BigDecimal类型并保留两位小数。思路:1.先将long转换为double类型再相除2.相除之后再转换为BigDecimal类型3.最后是设置小数位数,并设置两位小数后面的数的处置方式。代码:longnum1=5L;longnum2=20L;BigDecimalnum=BigDecimal.valueOf((double)num1/num2).setScale(2,BigDecimal.ROUND_HALF_UP);

    2026年2月21日
    4

发表回复

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

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