用stm32f407vgt6的spi2总线驱动hmc5983,读取hmc5983的ID寄存器A、B、C,读到的数值是随机的,为什么?求大神帮助!!!

2019-07-20 01:47发布

自己设计的电路板,stm32f407vgt6的spi2总线分别挂载了mpu6500,hmc5983和ms5611。板子刚做回来,现在正在测试能不能正常使用。
1.读mpu6500的时候,无论是读那些配置寄存器,还是读数据寄存器,读数均正常;

2.读hmc5983的ID寄存器A、B、C(IRA、IRB、IRC)的时候,读数一直是随机的,但在这几天的调试过程中,读到过一次正确的数值(分别是0x48,0x34,0x33),但是程序一点没改,重新烧写一遍再读,就再也读不出正确的数值了;
3.读ms5611的时候,现象和读hmc5983一样,读到过一次正常的数值,但程序没动,再读就读不到正常的数值了。
求助原子哥以及各位朋友,到底是哪个地方出了问题呢?既然读到过正确的数值,是不是就说明了驱动写得没有问题呢?如果是这样的话,是不是硬件存在问题的可能性较大呢?自己摸索了好几天,实在解决不了问题,求各位大神帮助!!!


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
正点原子
1楼-- · 2019-07-20 02:53
 精彩回答 2  元偷偷看……
rainmaker19
2楼-- · 2019-07-20 03:11
正点原子 发表于 2019-5-20 01:54
帮顶

原子哥有没有什么建议呢?
rainmaker19
3楼-- · 2019-07-20 05:19
 精彩回答 2  元偷偷看……

一周热门 更多>