小黑 发表于 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 啊   为啥   啊    大家帮我看看   谢谢

Randy 发表于 2012-7-30 17:18:04

您买的是模块来的吧?您的模块的读数是使用串口输出的,您打开看到的3个轴都是0是吧?原因有几个:1、是硬件的问题(芯片本身没有焊好)。2、设置的问题(没有按照datasheet上面设置)。一般都是这两个问题,你试试看!

debian123 发表于 2012-8-3 13:44:44

找一个I2C的程序的例子看看,程序完全不靠谱
页: [1]
查看完整版本: 指南针度数