嵌入式开发-IIC通信介绍

news2024/11/27 10:42:10

IIC(Inter-Integrated Circuit)是一种两线式串行总线协议,用于连接微控制器及其他外围设备。在IIC总线上的数据传输速率可以是标准模式(100Kbit/s),快速模式(400Kbit/s)和高速模式(3.4Mbit/s)。

IIC的起始和停止条件由SCL(Serial Clock Line,串行时钟线)和SDA(Serial Data Line,串行数据线)的状态决定。起始条件是当SCL为高电平时,SDA由高电平向低电平跳变;停止条件是当SCL为高电平时,SDA由低电平向高电平跳变。在空闲状态下,SCL和SDA都处于高电平。

IIC的应答机制是一种相互关系,当主机发送数据给从机时,从机必须在接收到每个字节后向主机发送一个应答信号,表示已收到数据。应答信号是一个位宽为9个时钟周期的脉冲信号,其中第9个时钟周期是高电平。如果从机没有接收到数据或者无法应答,则在第9个时钟周期保持低电平。

协议波形如下图

c37dec99eb794e05a8dafac5d31ec212.webp

在数据传输过程中,主机在SCL的每个高电平周期开始时发送一个位宽为8位的字节,然后等待从机的应答信号。从机在接收到每个字节后,在第9个时钟周期发送一个应答信号。主机可以重复发送数据,直到从机发送非应答信号或者停止条件被触发。

IIC波形表示了主机和从机之间的数据传输过程和应答机制。起始和停止条件以及应答机制都是IIC通信的基本要素。

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

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

相关文章

决策树算法学习笔记

一、决策树简介 首先决策树是一种有监督的机器学习算法,其采用的方法是自顶向下的递归方法,构建一颗树状结构的树,其具有分类和预测功能。其基本思想是以信息熵为度量构造一棵熵值下降最快的树,到叶子节点处的熵值为零。决策树的构…

【强化学习】MDP马尔科夫链

基本元素 状态集:表示智能体所处所有状态的全部可能性的集合。类似的集合,行为集,回报集决策:规定我在某个状态下,我做出某个action马尔可夫链:学术上来说是无记忆性质。说白了就是我只在乎我目前的状态。…

Axes3D绘制3d图不出图解决办法【Python】

运行下面一段代码​: import numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3D#这里设函数为y3x2x_data [1.0,2.0,3.0]y_data [5.0,8.0,11.0]​def forward(x): return x * w b​def loss(x,y): y_pred forward(x) …

山西省文物局与大势智慧签订战略合作协议

8月24日,由山西省文物局、中国文物信息咨询中心(国家文物局数据中心)主办的数字文博发展论坛在太原举行。武汉大势智慧科技有限公司(后简称“大势智慧”)受邀参与,与来自国内文博数字化领域的专家学者齐聚一堂,围绕“数…

华为数通方向HCIP-DataCom H12-821题库(单选题:241-260)

第241题 ​​LS Request​​报文不包括以下哪一字段? A、通告路由器(Advertising Router) B、链路状态 ID (Link Srate ID) C、数据库描述序列号(Database Dascription Sequence lumber) D、链路状态类型 Link state type) 答案:C 解析: LS Request 报文中包括以下字段…

浅谈下cdn以及防盗链问题

目录 一、什么是cdn 二、使用cdn带来的好处 三、CDN工作原理 四、cdn使用场景 五、流媒体CDN之防盗链问题 一、什么是cdn CDN(Content Delivery Network)是一种分布式网络架构,用于提供高效的内容分发服务。CDN通过将内容缓存在离用户最…

VLDB 2023 | CDSBen: 字节跳动 veDB 数据库存储系统性能测试模型

背景 随着业务爆炸式增长与云原生技术的日渐成熟,大量云原生分布式数据库产品如雨后春笋般涌现,其中一部分主打 OLTP 场景的分布式数据库强调的是从计算-存储分离架构获得弹性收益;对于业界各种计算-存储分离架构的数据库而言,怎么…

3环断链以及断链后的检测方法

3环断链以及断链后的方法 我们在3环注入代码很多时候会选择注入dll,因为纯粹的硬编码不方便写出大量功能,而且不容易维护所以很多时候我们会通过各种方式让我们的dll注入到目标地址空间中,其中有一些方式可以不需要我们自己对dll处理重定位而…

C语言每日一练--Day(15)

本专栏为c语言练习专栏,适合刚刚学完c语言的初学者。本专栏每天会不定时更新,通过每天练习,进一步对c语言的重难点知识进行更深入的学习。 今日练习题关键字:珠玑妙算 两数之和 💓博主csdn个人主页:小小uni…

Docker安装MySQL教程

虽然 docker 安装 mysql 不是一个很好的方案,但是为了个人使用方便,使用 docker 安装 mysql 还是没什么问题的。 本文为了方便,我们直接通过yum方式安装。所以,我们在安装之前需要电脑可以联网,不然我们这种方式是安装…

ASP.NET Core 中的 MVC架构

MVC 架构 MVC架构把 App 按照逻辑分成三层: Controllers,接收 http request,配合 model,通过http response 返回 view,尽量不做别的事Models, 负责业务逻辑,App 的状态,以及数据处理Views&…

数学建模--Seaborn库绘图基础的Python实现

目录 1.绘图数据导入 2. sns.scatterplot绘制散点图 3.sns.barplot绘制条形图 4.sns.lineplot绘制线性图 5.sns.heatmap绘制热力图 6.sns.distplot绘制直方图 7.sns.pairplot绘制散图 8.sns.catplot绘制直方图 9.sns.countplot绘制直方图 10.sns.lmplot绘回归图 1.绘图数…

【C++】原子类型非线程安全

原子类型非线程安全 #include <iostream> #include <thread>int main() {int num 0;int count 100000;std::thread thread1([&](){for(int i 0; i < count; i){num;}});std::thread thread2([&](){for(int i 0; i < count; i){num;}});std::thr…

数学建模--多项式拟合方法Python实现

目录 1.算法设计思路 2.算法核心代码 3.算法效果展示 1.算法设计思路 算法关键步骤:(主要是利用到多项式拟合的库包) 1.将数据进行导入 2.进行曲线拟合返回值为各项系数 3.获得多项式拟合之后的函数表达式 4.将x代入表达式求出对应的y值(这样就能够表示出拟合的差别如何) 5.进…

数学建模--三维图像绘制的Python实现

目录 1.绘制三维坐标轴的方法 2.绘制三维函数的样例1 3.绘制三维函数的样例2 4.绘制三维函数的样例3 5.绘制三维函数的样例4 6.绘制三维函数的样例5 1.绘制三维坐标轴的方法 #%% #1.绘制三维坐标轴的方法 from matplotlib import pyplot as plt from mpl_toolkits.mplot3…

构建知识库:一文解决跨平台科研文献及笔记同步问题

文章目录 需求及目标现有方案调研文献管理方案云存储方案Markdown编辑器Windows端Ipad端 图床管理方案 最终方案操作流程最后 作为一个十级懒人&#xff0c;要么躺着要么在探寻提效工具的路上。 开始打工生涯之后&#xff0c;除了正常工作时间&#xff0c;总想利用业余时间提升…

postgres数据库设置id自增

postgres数据库设置id自增 1. 使用SQL语句建立自增序列 CREATE SEQUENCE id_seq START 1;执行结果 ng) 2. 在设计表中使用该序列 nextval(id_seq::regclass)

面试题 ⑤

1、TCP与UDP的区别 UDPTCP是否连接无连接&#xff0c;即刻传输面向连接&#xff0c;三次握手是否可靠不可靠传输&#xff0c;网络波动拥堵也不会减缓传输可靠传输&#xff0c;使用流量控制和拥塞控制连接对象个数支持一对一&#xff0c;一对多&#xff0c;多对一和多对多交互通…

Kubernetes之舞:微服务的交响乐团

Kubernetes与微服务&#xff1a;缘起 微服务的崛起 微服务架构已经成为现代软件开发的标准。与传统的单体应用相比&#xff0c;微服务提供了更高的模块化&#xff0c;使得团队可以独立地开发、部署和扩展各个服务。这种架构模式的主要优势在于其灵活性和可扩展性&#xff0c;允…