版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jet007_007/article/details/54290036
HMC5883L采用IIC总线通信
HMC5883L地磁传感器IIC操作总结:
IIC唯一的7位地址标识:
写指令:0x3C;读指令:0x3D
HMC5883L的寄存器
/********************HMC5883L寄存器地址映射****************************/
#define HMC5883L_CRA_BASE 0x00 //配置寄存器A(Configuration Register A)
#define HMC5883L_CRB_BASE 0x01 //配置寄存器B
#define HMC5883L_MR_BASE 0x02 //模式寄存器
#define HMC5883L_DXRA_BASE 0x03 //数据输出X MSB寄存器
#define HMC5883L_DXRB_BASE 0x04 //数据输出X LSB寄存器
#define HMC5883L_DZRA_BASE 0x05 //数据输出Z MSB寄存器
#define HMC5883L_DZRB_BASE 0x06 //数据输出Z LSB寄存器
#define HMC5883L_DYRA_BASE 0x07 //数据输出Y MSB寄存器
#define HMC5883L_DYRB_BASE 0x08 //数据输出Y LSB寄存器
#define HMC5883L_SB_BASE 0x09 //状态寄存器
#define HMC5883L_IRA_BASE 0x0A //识别寄存器A
#define HMC5883L_IRB_BASE 0x0B //识别寄存器B
#define HMC5883L_IRC_BASE 0x0C //识别寄存器C
配置寄存器A:默认值:0x70,用来设置数据输出速率和测量配置,选择默认
配置寄存器B:默认值:0x20,用来设置器件的增益,默认为1090/Gauss
模式寄存器:默认值:0x01,用来设置器件是连续测量模式还是单次测量模式,默认情况下是单次测量模式(0x01),在这里设置为连续测量模式(0x00)。
状态寄存器: