IIC基础常识

发布时间:2026/10/10 1:30:01

IIC基础常识 特点只用两根线就能让主控和多个外设通信是种同步半双工串行通信协议结构特点电气特点SCL和SDA都是开漏/开集电极结构必配上拉电阻。I2C设备只能主动把线拉低不能主动输出高电平。当没有器件拉低总线时线上的高电平是靠上拉电阻提供的IIC通信过程是怎么进行的一帧典型主机发送起始信号主机发送从机地址主机发送读写方向位从机返回应答主机和从机传输数据每发完1字节对方返回一次应答最后发送停止信号起始信号停止信号应答信号是什么起始信号Start当SCL保持高电平时SDA从高电平跳变到低电平这表示起始信号时钟线高数据线由高变低表示通信开始停止信号Stop当SCL保持高电平SDA从低电平跳变到高电平表示停止信号时钟线高数据线低变高表示通信结束应答信号ACKI2C按字节传输在数据传输阶段每发完8位数据接收方都要在第9个时钟给出应答。拉低SDA表示ACK不拉低SDA表示NACKIIC的读写区分先写地址再重新开始读数据0 写1读主机给器件写数据起始从机地址 写位应答寄存器地址或存储地址应答数据应答停止主机从器件读数据起始从机地址 写位应答先告诉对方读哪个寄存器地址重启始从机地址 读位应答从机发送数据主机应答/非应答停止为什么IIC可以挂多个设备因为IIC是靠地址区分设备的在同一条总线上可以同时挂多个从机主机发送通信时先发送从机地址只有地址匹配的那个设备才会响应其他设备保持安静优势节省引脚布线简单一个主控能挂多个外设限制同一条总线上设备地址不能冲突IIC常见速度模式标准模式100kHz快速模式400KHz快速模式增强1MHz高速模式3.4MHzSTM32使用IIC硬件IICHAL有时用7位地址左移后的格式根据读写函数自动置读写位//写 HAL_I2C_Mem_Write(hi2c1, dev_addr, mem_addr, I2C_MEMADD_SIZE_8BIT, buf, len,1000); //读 HAL_I2C_Mem_Read(hi2c1, dev_addr, mem_addr, I2C_MEMADD_SIZE_8BIT, buf, len, 1000);
延伸阅读

更多相关文章

2026/10/10 1:30:01

SEED数据集EEG情绪识别:差分熵特征提取与SVM验证全流程

简介:面向脑机接口与情感计算学习者的EEG情绪识别源码项目,基于公开SEED脑电数据集完成情绪分类,适用于毕业设计、期末大作业与课程设计等实践环节。源码已经本地编译并运行通过,评审得分98分,项目难度适中&#xff0c…

2026/10/10 1:25:01

R语言实现二维泊肃叶流:解析解、可视化与工程估算

1. 从一张手绘速度剖面图说起:为什么要用R来算二维泊肃叶流几年前带一个做微流控方向的实习生,他需要把两块平行平板之间水流的稳态速度分布画出来,用来估算芯片通道里的剪切率范围。我原以为他会用MATLAB或者直接拿CFD软件跑一下&#xff0c…

2026/10/10 2:40:08

AI大模型如何抓取和推荐淮安本地商户?GEO技术链路与POI权重算法拆解

一、技术背景:AI大模型正在重构本地服务流量分发 2026年以来,以豆包、DeepSeek、文心一言、通义千问为代表的生成式AI大模型月活用户突破5.2亿,其中本地生活服务类搜索占比达31%。这标志着本地服务流量分发机制正在发生根本性变革。 传统的流量分发路径是:用户在百度搜索→浏览…

2026/10/10 2:40:08

Spring Boot公司门户网站毕设全解析:从设计到部署避坑指南

又是一年毕业设计季节,Java方向的选题里,“基于Spring Boot的公司门户网站”绝对算得上一个经典中的经典。这个题目为什么经久不衰?因为它恰到好处地覆盖了Java Web开发的核心链路:后端框架应用、数据库设计、前端页面渲染、权限控…

2026/10/10 2:40:08

线上 OOM 排查完全指南(多工具命令版)

线上 OOM 排查完全指南(多工具命令版)线上 OOM 不是单一问题,而是一类问题的统称。排查的核心思路是:先分清是哪种 OOM,再保留现场、收集证据、定位根因、修复验证。 本文覆盖所有主要 OOM 类型,每一类都给…

2026/10/10 2:40:08

焊接件表面缺陷检测实战:VOC转YOLO格式与训练避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 10:03:18

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/9 20:15:56

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/8 6:05:44

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 0:04:53

从逻辑门到计算机:数字电路核心原理与全加器搭建实战

如果你拆过一台旧电脑的主板,盯着那些黑乎乎的小芯片看上一会儿,可能会冒出同一个疑问:这堆引脚密集的元件,到底是怎么“变”出那么复杂的应用的?答案并不在某个神秘的部件里,而是在所有芯片内部都在反复使…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑