IIC基本学习

对IIC通信协议补充了基本的了解,在进行相关的工程实践后再进行补充

01-基础硬件

SCL时钟线与SDA数据线,都连接着上拉电阻(为什么,需要高电平进行驱动),

引脚配置为开漏模式:

模式特性(是什么):低电平接地,高电平不接地,若外接上拉,则由上拉电阻进行驱动

作用:防止短路,因为一个总线上可能有多个IO,若正常模式同时拉高和拉低,就会短路(寄寄)

每个通过IIC进行数据传输的设备都有位移的设备地址,7位地址与1位表示读/写

IIC的传输速度有多种标准模式,快速模式,高速模式都是双向传输,高速模式会兼容低俗模式,而超快速传输是单向传输且不兼容其他模式。要记住的是最快的速度1标准速度为100kb/s,最快的双向速度传输为3.4Mb/s

注意:上拉电阻的数值决定了总线上的电平转换速度,较大的上拉电阻会导致总线上的电平变化速度较慢,而较小的上拉电阻则会使电平变化速度更快。当需要提高IIC总线上的速率的时候,因此,在调整速度的时候需要调整相应的上拉电阻数值。

不建议同一总线连接

02-信号协议

包含开始、结束、应答、写数据(发送),读数据(接收)

不写时序图了,记一下我热为我重要的东西

a. 起始信号

开始条件:SDA,SCL都为高

起始信号:SCL为高电平时,SDA从高到低。

结束条件:SDA和SCL都处于低电平。
b.停止信号

开始条件:SDA,SCL都为低

时钟线拉高:SCL拉高先

结束信号:在时钟线为高的时候,SDA从低变高

写数据:开始->应答->地址+写->应答->数据->应答......结束

读数据:开始->应答->地址+读->应答->读数据->应答1......应答0->结束

以后实际用到了,再更新实践内容

相关推荐
M78佐菲7 小时前
ARM学习笔记(1)
linux·arm开发·笔记·嵌入式硬件·学习
无敌贵点大王9 小时前
RTThread学习记录11——RT-Thread 设备模型吃透:UART/ADC/PWM/PIN 到底有什么区别?
c语言·stm32·学习·链表
是翎11 小时前
深度长文|2026产品经理AI实践手册
人工智能·深度学习·学习·自然语言处理·数据挖掘
Linux-lucky11 小时前
32-38-Linux学习之旅之MySQL综合
linux·运维·学习·mysql·ubuntu
知识分享小能手12 小时前
C++ 学习教程,从入门到精通,C++ 入门知识 — 完整知识点(1)
开发语言·c++·学习
AI职业加油站15 小时前
数据要素价值释放年:大数据治理工程师,站上职业新风口
人工智能·学习·职场和发展·数据分析·职场发展
啄缘之间15 小时前
1.【SVA】什么是SVA?
经验分享·学习·测试用例·verilog·sva
sunoo-22916 小时前
【嵌入式裸机开发Day04】i.MX6ULL 蜂鸣器驱动详解:从引脚地址查找到代码实现全流程
arm开发·单片机·嵌入式硬件·学习·串口·裸机
Purple Coder16 小时前
stm32
学习
边境悍匪16 小时前
蜗牛学苑 Java 智能体学习 Day45|Knife4j+SpringBoot3、书城项目整合 MyBatis 思维导图复盘
java·开发语言·vue.js·学习·spring