嵌入式软件开发必看--常用通讯协议---IIC协议详细介绍-从物理层协议层到代码配置

C# 两个独立exe程序直接通信 这篇文章主要说明一下,如何利用发送消息使两个 exe 完成通信。这次的 demo 分为两个部分,发送端和接收端。 阅读详情

IIC协议概念

I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。
在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和片上外设;STM32 标准库则是在寄存器与用户代码之间的软件层。对于通讯协议,我们也以分层的方式来理解,最基本的是把它分为物理层和协议层。物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准。简单来说物理层规定我们用嘴巴还是用肢体来交流,协议层则规定我们用中文还是英文来交流。
下面我们分别对 I2C 协议的物理层及协议层进行讲解。

I2C 物理层

在这里插入图片描述

物理层的特点

它的物理层有如下特点:
(1) 它是一个支持设备的总线。“总线”指多个设备共用的信号线。在一个 I2C 通讯总线
中,可连接多个 I2C 通讯设备,支持多个通讯主机及多个通讯从机。
(2) 一个 I2C 总线只使用两条总线线路,一条双向串行数据线(SDA) ,一条串行时钟线
(SCL)。数据线即用来表示数据,时钟线用于数据收发同步。
(3) 每个连接到总线的设备都有一个独立的地址,主机可以利用这个地址进行不同设备之
间的访问。
(4) 总线通过上拉电阻接到电源。当 I2C 设备空闲时,会输出高阻态,而当所有设备都空
闲,都输出高阻态时,由上拉电阻把总线拉成高电平。
(5) 多个主机同时使用总线时,为了防止数据冲突,会利用仲裁方式决定由哪个设备占用
总线。
(6) 具有三种传输模式:标准模式传输速率为 100kbit/s ,快速模式为 400kbit/s ,高速模式
下可达 3.4Mbit/s,但目前大多 I
2C 设备尚不支持高速模式。
(7) 连接到相同总线的 IC 数量受到总线的最大电容 400p

IIC协议层

协议层I2C 的协议定义了通讯的起始和停止信号、数据有效性、响应、仲裁、时钟同步和地址广播等环节
主机箱从机写/读数据

在这里插入图片描述
在这里插入图片描述

数据由主机发送到从机

数据由主机传输至从机 S : 传输开始信号
SLAVE_ADDRESS: 从机地址
在这里插入图片描述
数据由从机传输至主机 R/W

stm32之IIC总线概述 1.IIC通信协议定义 IIC通讯协议(Inter----Integrted Circuit)是由Phiips飞利浦公司开发的, 由于他引脚少,硬件实现简单,可拓展性强,不需要UASRT,CAN通讯协议的外部收发设备,现在被广泛使用在系统内多个集成电路IC(芯片)间的通讯。 2.通信方式 半双工的通讯方式 3.内部结构 他是一个支持多设备的总线。”总线”指多个设备共用的信号线,在一个IIC通讯总线中,可连接多个IIC通讯设备,支持多个通讯主机及多个通讯从机。 一个I 阅读详情

相关推荐

详解通信协议之IIC通信协议

本文结合AT24C02对IIC原理进行了描述。

qq_41818650的博客 3746

STM32基于IIC通信协议的OLED模块使用(详解)

本篇文章对IIC通信协议的原理做了总结,并在硬件IIC配置和软件模拟IIC上做了代码输出,由此来进行一个OLED屏幕的操作总结。本项实验的硬件组成有STM32F103C8T6芯片的开发板、OLED模块(0.96寸4针IIC接口OLED显示屏),时间用系统滴答定时器SysTick,主要模块配置是硬件IIC配置和软件模拟IIC配置。 实验简介 根据IIC通讯原理,来进行数据传输,进行一个OLED屏幕的显示,文字,图像。...

多云的博客 3万+

IIC通信详解——STM32 IIC实验(野火指南者)

​iic是一种串行通信总线,使用多主从架构,由飞利浦公司在1980年代为了让主板、嵌入式系统或手机用以连接低速周边设备而发展。由于它引脚少,硬件实现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路 (IC) 间的通讯。二、物理层iic只由两条总线构成:,D代表Data也就是数据,用来传输数据的串行总线,C代表Clock也就是时钟,控制数据收发时序的串行总线物理层特点:(1)它是一个支持设备的总线。

2301_76655007的博客 4729

STM32 IIC协议 读写EEPROM

IIC协议的初始化GPIO端口函数,和一些产生起始信号、终止信号、应答信号,读取、写入字节等。该协议适用于全部IIC协议的模块,是较底层的函数,只需要修改相应的引脚、端口、时钟即可。#define IIC_SCL_GPIO_CLK RCC_APB2Periph_GPIOA//时钟#define IIC_SCL_GPIO_PORT GPIOA //端口#define IIC_SCL_GPIO_PIN GPIO_Pin_2//pin 引脚。

m0_59949484的博客 2682

基于STM32F103C8T6的IIC通信协议及硬件通信和软件OLED温度显示项目

I2C通讯

weixin_72921448的博客 7029

IIC协议

IIC 协议

洛尘的博客 1480

STM32下基于IIC协议的AHT20温湿度采集

目录一、软件I2C和硬件I2C1.软件IIC2.硬件IIC3.区别二、基于I2C的AHT20温湿数据采集1.下载所需文件1.添加.c文件2.添加文件路径3.主函数代码4.管脚连线5.运行结果 一、软件I2C和硬件I2C • I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备现在被广泛地使用在系统内多个集成电路(IC)间的通讯。 在计算机科学里,大部分复杂的问题都可以

weixin_45830968的博客 1467

常用通信接口协议

微机系统的通信,则利用电、光等媒介。最常用的是电,表现在数字电路中,就是高低电平的变化。的IO口能实现高低电平的收发,认为它是一种通信接口。接口是通信所依赖的实体。

weixin_45679408的博客 6819

IIC通讯协议详解+常见问题汇总

IIC的详解包括:物理层、协议层、STM32有关IIC的配置、软件编程;IIC常见高频问题汇总

weixin_47545694的博客 1401

STM32掉电保存配置参数技巧

本文介绍了使用STM32内置备份寄存器(BKP)实现掉电保存配置参数的方法。相比外接EEPROM或Flash,备份寄存器无需外设但存储容量有限,需通过VBAT引脚连接纽扣电池供电。文章详细说明了初始化步骤,包括使能PWR时钟、允许访问备份寄存器等操作,并提供了RTC初始化的代码示例。同时介绍了HAL库中读写备份寄存器的函数使用方法,包括HAL_RTCEx_BKUPWrite和HAL_RTCEx_BKUPRead函数的具体参数和调用示例。该方法适用于需要小容量数据掉电保存的应用场景。

hanhanhan233的博客 946

从SRIOV到SIOV:PCIe虚拟化技术下一代革命

如果说SR-IOV是过去十年PCIe虚拟化的“标杆方案”,那SIOV就是为超大规模云数据中心、AI集群量身打造的“破局者”——它解决了SR-IOV难以逾越的扩展性瓶颈,同时平衡了性能、成本与生态兼容性。今天就从“为什么需要SIOV”到“SIOV到底强在哪”,再到“未来要解决什么问题”,做一次全方位深度拆解。

存储随笔 2552

FoundationPose复现及Realsense应用

FoundationPose是一个统一的基础模型,用于6D对象姿态估计和跟踪,支持基于模型和无模型的设置。在测试时可以立即应用于未见过的新对象,无需微调,只要给出其CAD模型,或者捕获少量RGBD参考图像。得益于统一框架,下游姿态估计模块在两种3D模型设置中都是相同的,当没有CAD模型时,使用神经隐式表示进行高效的新视角合成。通过大规模合成训练,辅以大型语言模型(LLM)、一种基于transformer的新架构和对比学习公式,实现了强大的泛化能力。

m0_56661101的博客 1万+

告别爆显存!手把手教你为ComfyUI+华为Atlas 300I Duo配置wan2.1视频生成工作流(含CPU-VAE参数)

本文详细介绍了华为Atlas 300I Duo与ComfyUI的深度适配实战,重点优化wan2.1视频生成工作流。从硬件散热改造到软件栈配置,再到ComfyUI专项优化,提供完整的解决方案,显著提升视频生成效率与稳定性,特别适合需要高效文生视频的应用场景。

weixin_26812607的博客 456

数字IC后端新手必看:Innovus从安装到跑通第一个设计的完整流程(附常用命令清单)

本文为数字IC后端设计新手提供了Cadence Innovus工具的完整实战指南。详细介绍了从环境搭建、软件安装与许可证配置,到加载网表、库文件和约束,并逐步完成布局规划、单元布局、时钟树综合、布线及物理验证的核心使用流程。文章最后附有常用Tcl命令清单,帮助初学者快速上手并跑通第一个设计。

vscode5coder的博客 1235

AVM环视算法实战:从3D碗型投影到多场景模式切换的实现与优化

本文深入探讨了AVM环视算法在3D碗型投影和多场景模式切换中的实现与优化。通过分析3D碗型投影的核心原理和动态视角调节技术,展示了如何实现从超广角模式到转向模式的无缝切换。文章还分享了性能优化实战经验,包括实时性提升和图像拼接质量优化,为开发者提供了宝贵的AVM系统开发指南。

weixin_42573113的博客 167

一文读懂AI大模型时代的RAG技术

RAG(Retrieval-Augmented Generation,检索增强生成) 是一种结合检索技术与生成模型的技术架构,旨在通过动态引入外部知识库增强大语言模型(LLM)的生成能力。其核心思想是通过检索系统从外部数据源(如企业知识库、实时文档等)获取相关信息,并将检索结果作为上下文输入生成模型,以提高生成答案的准确性、时效性和专业性

awei0916的专栏 2117

YOLOv5添加注意力机制的具体步骤

本文主要介绍了 本文在此篇博客的基础上向YOLOv5-5.0版 本文主要包括以下内容一、CBAM注意力机制添加(1)修改yolov5s主干网络(2)在common.py中添加可调用的CBAM模块(3)向yolo.py文件添加CBAMC3判断语句二、SE注意力机制添加 本文以yolov5s网络为例 一、CBAM注意力机制添加 注意力机制可以添加在backbone,Neck,Head等部分,接下来本文以backbone主干网络为例 (1)修改yolov5s主干网络 1.在yolov5-5.0工程文件夹下,找到m

thy0000的博客 2万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

上一篇: STM32的定时器概念-从基本到高级定时器由底层到配置使用-基本和高级TIM使用的初始化-用通用TIM输出四路PWM波
下一篇: 常用存储器详细介绍(ROM、RAM、FLASH等)
Execution_
博客等级 码龄5年 1605粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值