天天看點

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管腳

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

(2)尋址

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

(3)時序

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

繼續閱讀