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; }
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(); }