学习嵌入式的第四十三天——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 天前
鸿蒙学习实战之路-Reader Kit构建阅读器最佳实践
学习·华为·harmonyos
深蓝海拓1 天前
PySide6从0开始学习的笔记(二十七) 日志管理
笔记·python·学习·pyqt
慎独4131 天前
科学赋能,让孩子专注高效爱上学习
学习
LGL6030A1 天前
Java学习历程26——线程安全
java·开发语言·学习
学历真的很重要1 天前
【系统架构师】第二章 操作系统知识 - 第二部分:进程管理(详解版)
学习·职场和发展·系统架构·系统架构师
Nebula_g1 天前
线程进阶: 无人机自动防空平台开发教程(更新)
java·开发语言·数据结构·学习·算法·无人机
星期五不见面1 天前
机器人学习!(二)ROS2-节点(7)2026/02/03
学习
狂奔蜗牛飙车1 天前
Python学习之路-循环语句学习详解
python·学习·python学习·#python学习笔记·循环语句详解
电饭叔1 天前
Jupyter学习中的问题--FileNotFoundError
ide·学习·jupyter
峥嵘life1 天前
Android16 【CTS】CtsMediaCodecTestCases等一些列Media测试存在Failed项
android·linux·学习