求MHC5883L的步骤,网上那些都不行

2020-01-23 14:42发布

网上有几种代码,用1602液晶,首先我没有1602液晶。再说好像都不行。

网上的步骤是:
1 起始信号
2 发送3CH  //发送设备地址+写信号 3CH
3发送02H  //写内部寄存器地址02H
4发送00H  //在内部地址02H写入00H
5 发送停止信号

6 起始信号
7 发送3CH  //发送设备地址+写信号 3CH
8发送03H  //发送存储单元地址,从0x3开始       
9 起始信号
10发送3DH  //发送设备地址+读信号 3DH
11 读出寄存器数据
12 发送接收成功应答
13 接收满6位?没有返回继续接收
14 最后一个数据需要回NOACK
13 发送停止信号

但我读出来的数据都是0-700多的,或是-32768。我知道负数是补码形式输出,可正数应该是0-2048的啊,为什么一到700左右就又返回0,求指教!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。