I2C_软件模拟实现_stm32与EEPROM的通信
提炼核心
I2C是一种通信协议,是简单的“双向两线制”,支持“同步半双工”通讯。
- 一根是时钟线SCL,主设备控制,用于同步;
- 一根是数据线SDA,用高低电平表示;
- SCL,SDA可连接多个I2C通信设备,支持一主多从或多主多从;
数据流
发送开始和停止信号
在SCL为高电平时,SDA出现跳转

数据有效性
在SCL为高电平时,SDA不能出现跳转

响应和非响应
在发送发传输数据后,接收方回应低电平(响应)或高电平(非响应)

写入一个字节
发送Start信号,设备写地址(设备地址+读写位)->接收方响应->发送内部地址->接收方响应->发送数据字节->接收方响应->发送Stop信号

读出一个字节
发送Start信号,设备写地址(假写真读)->接收方响应->发送内部地址->接收方响应->发送Start信号,设备读地址->接收数据字节->回应非响应->发送Stop信号

单次写入多个字节

单次读出多个字节

浙公网安备 33010602011771号