学习嵌入式的第四十三天——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信号,结束这次通信。

相关推荐
shenghaide_jiahu12 小时前
字符串匹配和回文串类题目
学习·算法·动态规划
驯狼小羊羔12 小时前
学习随笔-http和https有何区别
前端·javascript·学习·http·https
风无雨12 小时前
gin学习
学习·gin
招风的黑耳13 小时前
Axure可视化大屏原型模板库:学习设计/提高效率/快速可视化
学习·axure·数据可视化·大屏设计
charlie11451419113 小时前
CSS学习笔记5:CSS 盒模型 & Margin 注意事项
前端·css·笔记·学习·教程
Radan小哥13 小时前
Docker学习笔记---day002
笔记·学习·docker
py有趣14 小时前
LeetCode算法学习之有效的字母异位词
学习·算法·leetcode
蒙奇D索大21 小时前
【算法】递归算法的深度实践:从布尔运算到二叉树剪枝的DFS之旅
笔记·学习·算法·leetcode·深度优先·剪枝
gfanbei1 天前
ARM V8 Cortex R52 上电运行在什么状态?— Deepseek 解答
linux·arm开发·嵌入式硬件
烤麻辣烫1 天前
黑马程序员苍穹外卖(新手)Day1
java·数据库·spring boot·学习·mybatis