HMC5883L I2C İLETİŞİMİ SORUNU

Başlatan jankilodvandam, 17 Temmuz 2017, 12:02:16

jankilodvandam

I2C_HandleTypeDef hi2c2;
#define	HMC5883L_ADDRESS 0x1E<<1
uint8_t configA,configB,configM,data_Xmsb,data_Zmsb,data_Ymsb,data_Xlsb,data_Zlsb,data_Ylsb;
uint16_t dataX,dataZ,dataY;


tanımlamalar ...

int main(void)
{

  HAL_Init();
  SystemClock_Config();
  MX_GPIO_Init();
  MX_I2C2_Init();

		configA = 0x78;
		HAL_I2C_Mem_Write(&hi2c2, HMC5883L_ADDRESS,0x00,1,&configA,1,50);
		HAL_Delay(50);
	
		configB = 0x20;
		HAL_I2C_Mem_Write(&hi2c2, HMC5883L_ADDRESS,0x01,1,&configB,1,50);
		HAL_Delay(50);
	
		configM = 0x00;
		HAL_I2C_Mem_Write(&hi2c2, HMC5883L_ADDRESS,0x02,1,&configM,1,50);
		HAL_Delay(100);
  while (1)
  {

		HAL_I2C_Mem_Read(&hi2c2, HMC5883L_ADDRESS|0x01,0x03,1,&data_Xmsb,1,50);
		HAL_I2C_Mem_Read(&hi2c2, HMC5883L_ADDRESS|0x01,0x04,1,&data_Xlsb,1,50);
		dataX=(data_Xmsb<<8) | data_Xlsb;
		
		HAL_I2C_Mem_Read(&hi2c2, HMC5883L_ADDRESS|0x01,0x05,1,&data_Zmsb,1,50);
		HAL_I2C_Mem_Read(&hi2c2, HMC5883L_ADDRESS|0x01,0x06,1,&data_Zlsb,1,50);
		dataZ=(data_Zmsb<<8) | data_Zlsb;
		
		HAL_I2C_Mem_Read(&hi2c2, HMC5883L_ADDRESS|0x01,0x07,1,&data_Ymsb,1,50);
		HAL_I2C_Mem_Read(&hi2c2, HMC5883L_ADDRESS|0x01,0x08,1,&data_Ylsb,1,50);
		dataY=(data_Ymsb<<8) | data_Ylsb;	
		
		HAL_Delay(100);
  }		
}


main fonksiyonum da bu şekilde. I2c iletişimine yeni başladım, debug yaptığımda tüm değerleri 0 olarak görüyorum. acaba hatam nedirr..

teşekkürler