一句话总结IIC协议

起始信号

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

结束信号

反过来

等待ACK

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

发送ACK/NACK

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

发送时序

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

读取时序

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

注:关于ACK

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

相关推荐
续写烂尾23 分钟前
SDNAND 硬件电路设计:供电、上拉与走线全景
单片机·嵌入式硬件·sd nand·sdnand
Brilliantwxx1 小时前
【STM32】 RTC 实时时钟详解:从概念到预分频器
stm32·单片机·嵌入式硬件·mcu·bash
lhbweilai5 小时前
分析FreeRTOS内核对象API的源码实现(四)
c语言·stm32·单片机
inrichtt8 小时前
第八课时:SPI总线揭秘:四线全双工通信的奥
c语言·数据结构·stm32·单片机·嵌入式硬件
半杯咖啡半行码9 小时前
Linux字符设备驱动开发基础:从设备号到ioctl的完整实战
stm32·单片机·嵌入式硬件
碧海银沙音频科技研究院10 小时前
基于炬芯ATS3089X的usb U盘/usb audio声卡/usb cdc虚拟串口/录音dump到本地功能实现
stm32·单片机·嵌入式硬件
CC1802539448610 小时前
具有强大的图像和语音处理能力的高性能 MCU芯片ESP32-P4NRW32X
单片机·嵌入式硬件
小范的技术工坊11 小时前
Linux应用开发(文件IO)
linux·stm32·单片机
科芯创展12 小时前
XZ1824 宽电压150V 10A开关降压DC-DC控制器技术解析
单片机
Zwawa13 小时前
让电机走到指定位置:编码器位置环 PID
c语言·单片机·嵌入式