1. I2C主机与从机定义
I2C设备一般使用MCU作为主机,主机与从机通过总线连接起来,分别是SCL时钟总线和SDA数据总线,主机发送给从机SCL时钟信号,SDA发送数据,如下图所示:
2.主机地址
STM32作为主设备,主机地址可随意设置,从设备必须配置地址
I2C_InitStructure.I2C_OwnAddress1 =I2Cx_OWN_ADDRESS7;
3.从机地址
查找说明手册AT24C02,对地址的描述如下:
地址规则为:
1010 A2 A1 A0 R/W
其中写数据是R/W为0,读数据R/W为1
其中AO-A2是地址输入,需要硬件配置,
A0-A2接GND,A0-A1为0,
A0-A2接VCC,A0-A1为1,
以AT24C02为例,A0-A2统一接GND,A0=0,A1=0,A2=0;
当写数据时写的地址为10100000(0xA0)
读数据时读的地址为101000001 (0xA1)
I2C_Send7bitAddress(EEPROM_I2Cx, EEPROM_ADDRESS, I2C_Direction_Transmitter);在这里插入代码片
以上纯属个人观点,若有不正之处,请不吝赐教!