stm32单片机开发五、I2C通信

news2024/9/24 20:50:18

在这里插入图片描述在这里插入图片描述
在这里插入图片描述I2C这部分的时序单元可以看我另外一篇博客I2C基本知识
I2C发送数据时是高位先行,也就是先发送高位的,比如一个字节有8位B0-B7,先发送B7高位
I2C用的是同步时序,它有一个好处,比如传输过程中,出现了中断,此时无论SCL为高电平还是低电平,SCL和SDA此时都暂停变化,因为SCL是主机发出的,此时SCL不变化,SDA也没法变化,无法继续进行传输,此时就会出现暂停,而当处理完中断后,可以回来继续原来的接收或者发送
在这里插入图片描述在这里插入图片描述在这里插入图片描述I2C的完整时序
在这里插入图片描述在这里插入图片描述在这里插入图片描述

I2C的地址

在这里插入图片描述如何发出指令,来确定要访问的是哪个设备呢?
这就需要首先把每个从设备都确定一个唯一的设备地址,从机设备地址就相当于每个设备的名字,主机在起始条件之后,要先发送一个字节叫一下从机名字,所有从机都会收到第一个字节,和自己的名字进行比较,如果不一样,则认为主机没有叫我,之后的时序我就不管了,如果一样,就说明,主机现在在叫我,那我就响应之后主机的读写操作,在同一条12C总线里,挂载的每个设备地址必须不一样,否则,主机叫一个地址,有多个设备都响应,那不就乱套了吗,是吧。
从机设备地址,在12C协议标准里分为7位地址和10位地址,因为7位地址比较简单而且应用范围最广,那在每个12C设备出厂时,厂商都会分配一个7位的地址,这个地址具体是什么,可以在芯片手册里找到。
比如我们MPU6050这个芯片的7位地址,是1101 000,之前我们学习AT24C02的7位地址,是1010000,一般不同型号的芯片地址都是不同的,相同型号的芯片地址都是一样的,那如果有相同的芯片挂载在同一条总线怎么办呢!这就需要用到地址中的可变部分了,一般器件地址的最后几位是可以在电路中改变的,比如MPU6050地址的最后一位,就可以由这个板子上的AD0引脚确定,
在这里插入图片描述这个引脚接低电平,那它的地址就是1101000,这个引脚接高电平,那它的地址就是1101001
比如AT24C02地址的最后三位,都可以分别由这个板子上的A0、A1、A2引|脚确定,比如A0引脚接低电平,地址对应的位就是0,为高的话就是1,同理A1和A2也是这样,这样相同的几个芯片在同一个电路上面也可以做到地址不同。

I2C的时序

第一个时序,是指定地址写,它完成的任务是,对于指定设备,指定设备,通过Slave Address,从机地址来确定,在指定地址下,就是某个设备内部的Reg Address,寄存器地址,写入指定数据,就是要在这个寄存器中写入的Data数据。
在这里插入图片描述时序分析:
1、SCL高电平期间,拉低SDA,产生起始条件(Start,S)
在这里插入图片描述2、在起始条件之后,紧跟着的时序,必须是发送一个字节的时序
字节的内容,必须是从机地址+读写位
正好从机地址是7位,读写位是1位,加起来是一个字节,8位,发送从机地址,就是确定通信的对象,发送读写位,就是确认我接下来是要写入还是要读出
SCL低电平期间,SDA变换数据,SCL高电平期间,从机在SDA读取数据
高7位,表示从机地址,1101 000,(Mpu6050的地址),最后一位0为读写位,表示写入操作,若为1则代表读
紧接着就是接收从机的应答位RA,为0代表接受成功,也就是此时主机释放SDA(由于上拉的原因,SDA要回到高电平),但是从机会将SDA电平拉低
在这里插入图片描述后面就是一些发送从机的寄存器地址等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1644493.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习之基于Pytorch姿态估计的仰卧起坐计数系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 仰卧起坐作为一种常见的健身动作,被广泛用于腹部肌肉的锻炼。然而,对于仰卧起…

(四)机器学习在银行中的典型应用场景(模型) #CDA学习打卡

本文总结了机器学习在银行中的典型业务应用场景,包括客户管理、零售智能营销、公司智能营销、自然语言处理、运营管理以及图像识别。

智慧园区sip对讲广播解决方案

智慧园区sip对讲广播解决方案18123651365 目前而言智慧园区管理者主要需要解决的问题是: 1.面对庞大的园区小区规模,能源管理全部依赖人工已经无法实现; 2.节能管理工作难度大,面对问题,没有好的解决方案; …

pyqt6的安装,使用-1

pyqt6安装的话,在自己所用的环境里安就可以,之前写有yolov5,yolov8的环境配置,python3.8的我安装就没有问题,打开anaconda,激活自己的环境 把这复制进去 pip install pyqt6 pip install pyqt6-tools 这个安装完了之后…

【JavaWeb】网上蛋糕项目商城-关键字搜索,购物车以及商品详情功能

概念 上文中已经实现热销和新品的商品列表功能,本文篇幅中实现关键字搜索商品,将商品加入购物车,以及查看商品的详情信息等功能 关键字搜索实现步骤 在head.jsp头部页面中,鼠标移动至搜索图标会显示隐藏的搜索框进行输入关键信…

数据结构(C):玩转链表

🍺0.前言 言C之言,聊C之识,以C会友,共向远方。各位博友的各位你们好啊,这里是持续分享数据结构知识的小赵同学,今天要分享的数据结构知识是链表,在这一章,小赵将会向大家展开聊聊链表…

c语言排序算法之八(桶排序)

前言 以下内容是被验证可以有效理解桶排序,代码也较容易理解。如果你发现还有很多需要增加的,欢迎留言。 为什么要单独写排序算法这一系列,看过一些贴子普遍篇幅较长。看完依旧难以直观理解原理及整个过程。代码永远是基于理解的基础上才能…

Carla基础 | Carla预编译版安装与ROS联合仿真图文教程

目录 1 什么是Carla?2 Carla预编译版安装2.1 独立显卡配置2.2 安装ROS2.3 启动虚拟环境2.4 安装Carla预编译版2.5 安装carla-ros-bridge 3 测试案例常见问题 1 什么是Carla? Carla是由西班牙巴塞罗那自治大学计算机视觉中心指导开发的开源仿真模拟器&…

Redis-五大数据类型-Set(集合)

五大数据类型-Set(集合) 简介 与List类似是一个列表功能,但Set是自动排重的,当需要存储一个列表数据,又不希望出现重复数据时,Set是一个很好的选择。 Set是String类型的无序集合,它底层其实是…

学生宿舍智能电表系统改造升级意义

石家庄光大远通电气有限公司学生宿舍智能电表控制系统改造升级功能与意义** 一、实时监测 宿舍智能电表控制系统具备实时监测功能,能够实时收集、记录和分析每个宿舍的用电数据。这种监测不仅可以帮助管理者掌握用电情况,还可以为用户提供详细的用电报…

重生奇迹mu魔剑士怎么转职

重生奇迹MU中的魔剑士怎么才可以转职? 随便建个角色升级到220级,然后小退重建就有魔剑士了。另外魔剑不用二转。400的三转和其他职业一样。 战士不能转魔剑的。当帐号中已经拥有一位等级超过220级以上的角色时,才可以创造职业为魔剑士的新角色。 魔剑…

gcc编译器分析

gcc编译器分析 参考词法分析语法分析预读一个符号语法分析函数调用关系重点函数分析c_parse_filec_parser_translation_unit 参考 《gcc源码分析》 词法分析 词法分析的过程就是将源代码识别成一个一个的词法符号,并在词法分析的过程中创建一些树节点&#xff0c…

YashanDB与帆软信创商业智能软件完成兼容互认证

近日,深圳计算科学研究院崖山数据库系统YashanDB与帆软信创商业智能软件(V6.0)顺利完成兼容性互认证,经严格测试,双方产品能够相互兼容,稳定运行。 崖山数据库系统YashanDB是深圳计算科学研究院自主研发设计…

一分钱不花从HTTP升级到HTTPS

HTTP升级到HTTPS是一个涉及安全性和技术实施的过程,主要目的是为了提升网站数据传输的安全性,防止数据被窃取或篡改。以下是一些关于从HTTP升级到HTTPS的技术性要点和步骤概述,结合上述信息资源: 一、理解HTTPS的重要性 HTTPS (…

[图解]SysML和EA建模住宅安全系统-01

1 00:00:00,980 --> 00:00:03,100 接下来,我们来看一下案例 2 00:00:04,930 --> 00:00:06,750 我们这次课程的案例 3 00:00:07,090 --> 00:00:13,800 选用了SysML实用指南的书上 4 00:00:13,810 --> 00:00:16,180 第十七章这个案例 5 00:00:16,350 …

《QT实用小工具·五十六》自适应界面变化的控件

1、概述 源码放在文章末尾 该项目实现了网格显示多张带文字的图片在界面中自适应布局 特点 跟随窗口大小变换位置,并带移动动画 响应鼠标事件,图片缩放动画 点击水波纹动画 项目demo演示如下所示: 项目部分代码如下所示: #i…

​可视化大屏C位图:3D模型,可视化大屏的画龙点睛之处

Hello,我是大千UI工场,本期可视化大屏的焦点图(C位)分享将图表作为焦点图的情形,欢迎友友们关注、评论,如果有订单可私信。 3D模型在可视化大屏中有很大的价值,以下是一些相关的优点&#xff1a…

优优嗨聚集团:法律明灯,个债处理中的法律咨询力量

在现代社会,个人债务问题日益突出,无论是因生活消费、投资失利还是其他原因,债务问题都可能成为个人财务的一大负担。面对复杂的债务困境,许多人感到迷茫和无助。此时,法律咨询如同一盏明灯,能够为个人债务…

GEE数据集——全球冰川海拔变化产品(2000-2019 年)

全球冰川海拔变化产品(2000-2019 年) 该数据集提供了 2000 年至 2019 年期间冰川海拔和质量变化的全面且全球一致的记录。它利用大量卫星图像(主要来自美国国家航空航天局(NASA)的高级星载热发射和反射辐射计&#xf…

ABAP开发(1)事物代码

文章目录 1、查看系统部分功能的T-code2、T-code使用3、查看未知程序的T-code4、常用T-code 在SAPGUI中,事务代码(transaction code),简称T-code,是一个特定的编号,支持自定义,使用户能够快速访…