一句话总结IIC协议

起始信号

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

结束信号

反过来

等待ACK

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

发送ACK/NACK

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

发送时序

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

读取时序

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

注:关于ACK

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

相关推荐
驴友花雕7 小时前
【花雕动手做】行空板 K10 系列实验之人工智能语音识别小车的10个参考案例
人工智能·单片机·嵌入式硬件·语音识别·行空板 k10 系列实验·花雕动手做·小车的10个参考案例
日拱一卒的小田13 小时前
ZYNQ学习笔记3-ZYNQ的IIC控制器1
笔记·单片机·学习
cardinal_50814 小时前
STM32MP157F-DK2开发板构建交叉编译链
stm32·单片机·嵌入式硬件
小羊先生car14 小时前
F429-HAL-RS485(回环/双机实验)(2026/8/16)
c语言·单片机·嵌入式硬件·软件构建
zlinear数据采集卡16 小时前
数据采集卡从入门到精通(10):采样率与分辨率的核心关系——反比律、架构分布与过采样
arm开发·嵌入式硬件·算法·fpga开发·架构·开源
CIAS18 小时前
uniontechos-server-20 1050 u2a pxe Server -x86 arm loongarch
arm开发
振南的单片机世界19 小时前
推挽vs开漏:一个“强拉硬灌”,一个“只拉不管”
arm开发·stm32·单片机·嵌入式硬件
小羊先生car19 小时前
F429-HAL-Can总线(回环及双机实验)(2026/8/15)
c语言·单片机·嵌入式硬件·软件构建
嵌入式阿蔡20 小时前
STM32时钟树详解:配错一个全乱套
c语言·stm32·单片机·嵌入式硬件
Dr.kangder20 小时前
嵌入式面试总结(二十)——ISA原理
单片机·面试·职场和发展·系统架构·嵌入式