Hello I am attempting to get I2C data from an HM6352 compass. It requires an address(x43 read/x42 write) and single byte command(x41) to return a 2 byte direction. When I scope it, it is sending the correct address and attempts to clock the 2 byte return value but it will not insert the command byte. Can anyone see the problem please?
i2c_config.ChipAddress=(0x42>>1);//>>1 66 becomes 33 plus R/W bit i2c_config.Clk_Speed= ADL_BUS_I2C_CLK_STD; i2c_config.AddrLength= ADL_BUS_I2C_ADDR_7_BITS; i2c_config.MasterMode=ADL_BUS_I2C_MASTER_MODE; i2c_handle=adl_busSubscribe(ADL_BUS_ID_I2C,1,&i2c_config); tempb=8; ret=adl_busIOCtl(i2c_handle,ADL_BUS_CMD_SET_ADD_SIZE,&tempb); i2c_access_config.Address=0x41; ret = adl_busRead(i2c_handle, &i2c_access_config,2,rbuffer);