学习嵌入式的第四十三天——ARM——I2C

1. 简述线与特性是什么

在两个芯片链接的对应引脚上,当一方输出高电平时,则实际的电平高低由另一方决定

2. start信号与stop信号是什么样的

start:在时钟信号为高电平时的一个数据信号线上的下降沿

stop:在时钟信号为高电平时的一个数据信号线上的上升沿

3. 简述IIC通信时序(高地址优先)

根据时钟高电平只能采样数据,低电平只能修改数据的规则,可以很好的保证数据的稳定

主设备进行写:

在总线空闲状态下总线上的SCL和SDA处于高电平,想要通信的设备在SCL高电平时,SDA产生一个下降沿,为start信号,发送方发送从设备的地址与数据流向位(以写为例),接收方发送ACK,发送方接收到ACK后接着发送数据存储在寄存器中的地址,接收方发送ACK,发送方发送具体数据,每发送一个字节,接收方都应该进行一次应答,当发送方想要结束通信时,需要在ACK应答之后,在SCL高电平时产生一个SDA的上升沿,代表stop信号,结束这次通信。

主设备进行读:

在总线空闲状态下总线上的SCL和SDA处于高电平,想要通信的设备在SCL高电平时,SDA产生一个下降沿,为start信号,发送方发送从设备的地址与数据流向位(0:写),接收方发送ACK,发送方接收到ACK后接着发送数据存储在寄存器中的地址,接收方发送ACK,发送方发送stop信号,发送方接着重发start信号,再次发送从设备地址与数据流向位(1:读),从设备应答,从设备发送具体数据,每发送一个字节,主设备都应该进行一次应答,当主设备想要结束通信时,发送NACK应答之后,在SCL高电平时产生一个SDA的上升沿,代表stop信号,结束这次通信。

相关推荐
微露清风1 小时前
系统性学习Linux-第二讲-基础开发工具
linux·运维·学习
阳光九叶草LXGZXJ2 小时前
达梦数据库-学习-48-DmDrs控制台命令(同步之Manager、CPT模块)
linux·运维·数据库·sql·学习
biuyyyxxx2 小时前
Python自动化办公学习笔记(一) 工具安装&教程
笔记·python·学习·自动化
丝斯20114 小时前
AI学习笔记整理(66)——多模态大模型MOE-LLAVA
人工智能·笔记·学习
军军君015 小时前
Three.js基础功能学习十三:太阳系实例上
前端·javascript·vue.js·学习·3d·前端框架·three
bylander5 小时前
【AI学习】TM Forum《Autonomous Networks Implementation Guide》快速理解
人工智能·学习·智能体·自动驾驶网络
xxxmine5 小时前
redis学习
数据库·redis·学习
Yff_world6 小时前
网络通信模型
学习·网络安全
野犬寒鸦7 小时前
从零起步学习并发编程 || 第一章:初步认识进程与线程
java·服务器·后端·学习
科技林总7 小时前
【系统分析师】6.3 企业信息化规划
学习