|
楼主 |
发表于 2014-9-3 23:57:54
|
显示全部楼层
本帖最后由 SMC 于 2014-9-4 11:39 编辑
店家新寄给我的焊了一颗还是一模一样的现象。ID对,数据全为零。
我都怀疑是不是我电路图或者程序错了,麻烦你给指导下。
实在不行我就只能换方案了。
u8 HMC5983_Init(void)
{
u8 i = 0, TimeOutCheck=0;
u8 HMC5983_Init_Data[3][2] =
{
{0x9C, Configuration_Register_A},
{0x20, Configuration_Register_B},
{0x00, Mode_Register},
};
for(I=0; I<3; I++)
{
TimeOutCheck+=HMC5983_WriteReg(HMC5983_Init_Data[I][1], HMC5983_Init_Data[I][0]);
delayms(1);
}
/*time out check */
if(TimeOutCheck!=3*SUCCESS)
return ERROR;
return SUCCESS;
}
u8 HMC5983_Read(void)
{
u8 TimeOutCheck=0,ReadBuf[6];
s16 mx,my,mz;
/* Read XYZ Output register */
TimeOutCheck+=HMC5983_ReadRegs(Data_Output_X_MSB_Register, ReadBuf, 6);
mx=ReadBuf[0]<<8 | ReadBuf[1];
mz=ReadBuf[2]<<8 | ReadBuf[3];
my=ReadBuf[4]<<8 | ReadBuf[5];
printf("mx=%d, my=%d, mz=%d\n",mx,my,mz);
if(TimeOutCheck!=SUCCESS)
return ERROR;
return SUCCESS;
} |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|