ARM-day08 I2C协议

发布时间:2026/7/26 6:55:24
ARM-day08 I2C协议 IICInter-Integrated Circuit又称I2C是是IICBus简称所以中文应该叫集成电路总线同步串行半双工通信总线方式When configuring I2C, note that pull-up resistors need to be configuredI2C总线规定设备空闲时sda和scl线需要保持高电平所以配置上拉电阻1. 简述I2C总线特点同步串行半双工2. 设计I2C时需要注意什么I2C总线要求在总线空闲时需要直高电平需要上拉电阻阻值4.7k-10k欧姆3. 描述I2C通信的时序在scl高电平时sda数据线需要保持平稳接收方采样数据在scl低电平时sda可以切换高低电平发送方发出数据4. I2C常见的通信速率400khz100khz5. 起始信号后的7位代表什么第8位代表什么第9位代表什么前七位数据位I2C 从设备总线地址选中从机地址第八位R/W 控制主机和从机的读写R/W0 主机向从机写R/W1 主机向从机读6. AT24C02的容量大小2kbit 256字节7. AT24C02的设备地址是多少固定 7 位基础地址010100x50A0/A1/A2 硬件引脚接地时 7 位地址为 0x50I2C的特点半双工 同步 串行上拉电阻4.7k-10k欧姆的上拉电阻I2C总线要求时钟线和数据线起始要求设备空闲时需要置高电平I2C的通信速率 100khz 400khz时序SCL时钟线为高电平时sda数据信号需要保持稳定电平不能改变I2C接收方采样数据SCL时钟线为低电平时sda可以改变I2C发送方发送数据应答信号发送完8bit数据后接收方需要回复一个应答信号低电平/ACK 高电平/NACK结束信号SCL变为高电平时SDA数据信号线由低电平变为高电平上升沿0主机向从机发送数据写1主机向从机读数据读I2C写时序主机发送起始信号-读取7位从机数据地址和一位写位-等待从机的的ack-主机发送寄存器地址-主机向从机写入寄存器地址-等待从机ack应答-主机发送结束信号I2C读时序主机发送起始信号-从主机发送从机地址和一位写位-等待从机ack-主机向从机发送内部寄存器地址-等待从机ack-重新发送起始信号-主机发送从机地址读位-等待从机ack应答-从机向主机回复数据-主机接收到最后一个字节数据向从机回复NACK-主机发送结束信号