harrysen 发表于 2011-6-12 20:54:36

HMC5883L识别寄存器为什么读出来全是000000,在使用过程中,发现Y轴的数值变化极慢,模式

使用过程中感觉读书很不准确,特别是Y轴,然后尝试读一下各个寄存器,发现模式寄存器老是返回0x83,识别寄存器,不返回“H”,“4”,“3”,而是返回的全是0000000000000000,这如何是好?

tanker110 发表于 2011-6-15 14:35:07

不知道你使用的这个芯片是自己焊接的还是买的测试板,
如果自己焊接的,
你在确定IIC正常的情况,识别寄存器为72,52,51,即“H”,“4”,“3”。
如果不是,你需要考虑以下环节:
1.各个引脚是否连接好,焊接过程中,如遇到高温会损坏芯片的。
2.IIC读写是否正确,IIC不正确也会读出错误数据。
3.模式寄存器改为单次测量后,再读,结果是83 ,我认为这是正常的,因为PDF中显示,
Bit MR7
bit is set internally after each single-measurement
operation.
MR7必须在单次测量中为1。另外,资料显示,单次测试完成后,会转为sleep mode。就是0X03。
Single-Conversion Mode.When single-conversion mode is selected,
device performs a single measurement, sets RDY high and returned
to sleep mode.Mode register returns to sleep mode bit values.The
measurement remains in the data output register and RDY remains
high until the data output register is read or another conversion is
performed.
有些版本的5883的资料显示内容不是很一致。可能你不一定看到这。
4.建议:先用使用持续测量模式,好用。测各个方向,计算下角度,看是否大致正确。
页: [1]
查看完整版本: HMC5883L识别寄存器为什么读出来全是000000,在使用过程中,发现Y轴的数值变化极慢,模式