极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13627|回复: 2

指南针度数

[复制链接]
发表于 2012-7-28 09:38:37 | 显示全部楼层 |阅读模式
#include <Wire.h>
int I2C_COMPASS_ADDRESS=0xD0;
void setup()
{
Wire.begin();        // join i2c bus (address optional for master)
Serial.begin(9600);  // start serial for output
}
int Compass_Degree()
{
  int degree=0;
  degree=Wire.requestFrom(I2C_COMPASS_ADDRESS, 0)*256;
   delayMicroseconds(50);
  degree=degree+ Wire.requestFrom(I2C_COMPASS_ADDRESS,1);
  delayMicroseconds(50);
     return degree;
}
void loop()
{
  int degree1=Compass_Degree();
  Serial.println(degree1);


delay(300);
}

为啥总显示0 啊     为啥   啊    大家帮我看看   谢谢
回复

使用道具 举报

发表于 2012-7-30 17:18:04 | 显示全部楼层
您买的是模块来的吧?您的模块的读数是使用串口输出的,您打开看到的3个轴都是0是吧?原因有几个:1、是硬件的问题(芯片本身没有焊好)。2、设置的问题(没有按照datasheet上面设置)。一般都是这两个问题,你试试看!
回复 支持 反对

使用道具 举报

发表于 2012-8-3 13:44:44 | 显示全部楼层
找一个I2C的程序的例子看看,程序完全不靠谱
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-25 21:14 , Processed in 0.039029 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表