Переключаю я как раз вот эти биты. С даташита:
MD1 to MD0 Mode Select Bits. These bits select the operation mode of this device. 01 - это single режим. Я делаю вот так:
Код:
void IMU_Get_Compass_XYZ(float *X, float *Y, float *Z){
uint8_t values[6];
GY85_Read(GY85_HMC5883L_READ, HMC5883L_RA_DATA_X_H, values, 6);
// тут обработка показаний идет, это я уберу
GY85_Write(GY85_HMC5883L << 1, HMC5883L_RA_MODE, 0x01);
Добавлено after 1 minute 53 seconds:Т.е. после каждого замера я ставлю биты в этот режим. Если чо по дефайнам:
#define GY85_HMC5883L (0x1E)
#define HMC5883L_RA_MODE (uint8_t)0x02
Может напутал чо то с адресами, но это вряд ли