Ejemplo n.º 1
0
U8 sel_mpu6050_reg(U8 reg)
{
	if(OK!=iic_start())return ERROR;
	if(OK!=i2c_senddat(W_MPU6050_ADDRESS))
	{
		iic_stop();
		return ERROR;
	};
	if(OK!=i2c_senddat(reg))
	{
		iic_stop();
		return ERROR;
	};
	return OK;
}
Ejemplo n.º 2
0
static U8 sel_hmc5883l_reg(U8 reg)
{
	if(OK!=iic_start())return ERROR;
	if(OK!=i2c_senddat(HMC58X3_ADDR))
	{
		iic_stop();
		return ERROR;
	};
	if(OK!=i2c_senddat(reg))
	{
		iic_stop();
		return ERROR;
	};
	return OK;
}
Ejemplo n.º 3
0
static U8 single_write_hmc5883l(U8 reg,U8 dat)
{
	if(OK!=sel_hmc5883l_reg(reg))return ERROR;
	
		if(OK!=i2c_senddat(dat))
		{
			iic_stop();
			return ERROR;
		};
	
	return iic_stop();
}
Ejemplo n.º 4
0
 U8 read_mpu6050(U8 reg)
{       U8 DATA;
	if(OK!=sel_mpu6050_reg(reg))return ERROR;
	if(OK!=iic_rstart())return ERROR;
	if(OK!=i2c_senddat(R_MPU6050_ADDRESS))
	{
		iic_stop();
		return ERROR;
	};	
	DATA=i2c_recedat();	
	iic_stop();
	return DATA;
}
Ejemplo n.º 5
0
 U8 write_mpu6050(U8 reg,U8 *datbuf,U16 datl)
{
	if(OK!=sel_mpu6050_reg(reg))
	return ERROR;
	for(;datl!=0;datl--)
	{
		if(OK!=i2c_senddat(*datbuf))
		{
			iic_stop();
			return ERROR;
		};
		datbuf++;
	}
	return iic_stop();
}
Ejemplo n.º 6
0
static U8 read_hmc5883l(U8 reg,U8 *datbuf,U16 datl)
{
	if(OK!=sel_hmc5883l_reg(reg))return ERROR;
	if(OK!=iic_rstart())return ERROR;
	if(OK!=i2c_senddat(HMC58X3_ADDR+1))//not really right
	{
		iic_stop();
		return ERROR;
	};

	for(;datl!=0;datl--)
	{
		*datbuf=i2c_recedat(datl);
		datbuf++;
	}
	return iic_stop();
}