一句话总结IIC协议

起始信号

在SCL为高的时候把SDA从高拉低

结束信号

反过来

等待ACK

发送完一个Byte的时候要等待从机发送的ACK,此时主机把SDA置为输入状态(高阻态),等待SDA被从机拉高

发送ACK/NACK

主机每读取完一个字节都要发送,如果读取的不是最后一个字节就发送ACK,如果是最后一个字节就发送NACK;ACK就是拉低SDA,NACK就是拉高SDA;

发送时序

拉低->写bit->拉高,最后拉低

读取时序

拉高->读bit->拉低,最后拉高

注:关于ACK

无论是等待ACK还是发送ACK,本质上都是发送方需要知道接收方是否收到了我发送的数据,所以主机发送完需要等待从机给ACK,从机发送完需要等主机给ACK

相关推荐
czhaii2 小时前
STC AI8052U单片机特点
单片机
MAR-Sky2 小时前
keil5中数据的不同定义和单片机(以stc8为例)里的对应关系(idata,xdata,data,code)
单片机·嵌入式硬件
项目題供诗4 小时前
51单片机入门(八)
单片机·嵌入式硬件·51单片机
羽获飞4 小时前
从零开始学嵌入式之STM32——9.STM32的时钟系统
stm32·单片机·嵌入式硬件
来自晴朗的明天6 小时前
13、NMOS 电源防反接电路
单片机·嵌入式硬件·硬件工程
17(无规则自律)7 小时前
深入浅出 Linux 内核模块,写一个内核版的 Hello World
linux·arm开发·嵌入式硬件
芯岭技术7 小时前
PY32MD310单片机:高性能、低功耗的32位电机控制微控制器
单片机·嵌入式硬件
小龙报8 小时前
【51单片机】深度解析 51 串口 UART:原理、配置、收发实现与工程化应用全总结
c语言·开发语言·c++·stm32·单片机·嵌入式硬件·51单片机
Lester_110115 小时前
STM32 高级定时器PWM互补输出模式--如果没有死区,突然关闭PWM有产生瞬间导通的可能吗
stm32·单片机·嵌入式硬件·嵌入式软件
小李独爱秋17 小时前
“bootmgr is compressed”错误:根源、笔记本与台式机差异化解决方案深度指南
运维·stm32·单片机·嵌入式硬件·文件系统·电脑故障