IIC_Send_Byte(0XA0+((WriteAddr/256)...1))(EEPROM/AT24CXX的I2C通信)

初学STM32 时,不是很理解这段代码?

IIC_Start();  
	if(EE_TYPE>AT24C16)
	{
		IIC_Send_Byte(0XA0);	    //发送写命令
		IIC_Wait_Ack();
		IIC_Send_Byte(WriteAddr>>8);//发送高地址
 	}else
	{
		IIC_Send_Byte(0XA0+((WriteAddr/256)<<1));  
	}	 
	IIC_Wait_Ack();	

先分析如下:
(1)EEPROM管脚
在这里插入图片描述
在这里插入图片描述
(2)寻址
在这里插入图片描述
在这里插入图片描述

(3)时序
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_38693598/article/details/86521264