ARM 裸机开发 DAY8 学习笔记

一、基础

1.数据发送规则

高位先行

2.两根信号线

①SCL:时钟信号线

②SDA:数据信号线

二、信号

1.起始信号:SCL为高电平时,SDA由高电平变为低电平(下降沿)

2.数据传输规则

①SCL高电平期间:SDA电平必须保持稳定,接收方采样读取数据。

②SCL低电平期间:SDA电平允许改变,发送方更新发送数据。

3.应答信号 ACK / NACK:第9个时钟周期,接收方向发送方回复应答。

①ACK:低电平(应答成功)

②NACK:高电平(无应答)

4.结束信号:SCL为高电平时,SDA由低电平变为高电平(上升沿)。

三、设备地址字节

1.起始信号后传输第一个字节:7位设备地址(高位) + 1位读写方向位(最低位)

①方向位 = 0:写,主机 → 从机

②方向位 = 1:读,从机 → 主机

2.最多支持127个从设备。

四、I2C写时序(主机写从机)

1.主机发送起始信号 + 设备地址 + 写位,等待从机ACK应答。

2.主机发送寄存器地址,等待从机ACK应答。

3.主机向从机发送数据,等待从机ACK应答。

4.主机发送停止信号。

五、I2C读时序(主机读从机)

1.主机发送起始信号 + 设备地址 + 写位,等待从机ACK应答。

2.主机发送寄存器地址,等待从机ACK应答。

3.主机发送重发起始信号 + 设备地址 + 读位,等待从机ACK应答。

4.主机接收从机发来的数据,主机回复ACK应答。

5.主机接收完最后一个字节,回复NACK应答。

6.主机发送停止信号。

六、进制

1.0x00:全部位为0

2.0xFF:全部位为1

3.0xAC → 二进制:1010 1100

4.0x10 → 二进制:0001 0000

相关推荐
带金箍的至尊宝1 小时前
系统架构设计师笔记 08:UML 用例图、类图、时序图
笔记·系统架构·uml
PC2005-cloud1 小时前
MySQL学习笔记:主从复制集群搭建以及原理详解
笔记·学习·mysql
MCT1236541 小时前
从零学习功率电感:Buck电路电感参数计算全过程
学习·ai服务器·功率电感·dc/dc 电源设计·车载电感器
Xudde.2 小时前
Mr-Robot 靶机渗透测试(Vulnhub Writeup)
笔记·学习·安全·web安全
AOI小白新手上路2 小时前
DRSformer Rain200H 省钱推理复现笔记
笔记
外收内放2 小时前
数据分析(数据查询与选择)
python·学习·数据分析
MIXLLRED2 小时前
Batch Normalization 学习笔记:γ、β 与 γ>0 的关键限制
笔记·学习·batch
霖霖7142 小时前
【ESP32笔记】LED操作和呼吸灯实现
笔记·单片机·嵌入式硬件
2501_937860942 小时前
HTTP/HTTPS 学习笔记(中):报头、Cookie、状态码与请求构造
学习·http·https