0

我有一个简单的 BMP180 传感器分线板,通过 I2C 与我的 Teensy 设备通信。我的草图只是打印出它读取的值。当我打开串行监视器(只能工作一半时间)时,它可以正常工作大约一分钟,但随后突然中断。当我检查串行端口时,我的青少年使用的原始 COM 端口不再存在。我已经打开 devmgmt 并且端口不存在。我试过重新启动我的笔记本电脑,并在重新插入时按住 Teensy 上的重置按钮。不走运。下面是我的代码。此外,即使我抛出无限循环打印内容,Arduino 串行监视器也没有显示任何内容,但 sublime 的串行监视器确实显示了它。只是觉得这也很奇怪。

#include <MCP3221.h>
#include <Wire.h>
#include "SoftwareSerial.h"
#define ADDRESS 0x4D // 7 bits address is 0x4D, 8 bits is 0x9B
void setup() {
  Serial.begin(9600);
  Serial.println("First");

  Wire.begin(); //connects I2C
}
//fdsyjyutsydshgfjyfj
void loop() {
  byte ad_high;
  byte ad_low;
  int Result = 0;

  Wire.requestFrom(ADDRESS, 2);        //requests 2 bytes
  while(Wire.available() < 2)
  {
    Serial.println("not yet available");
  }
  Serial.println("Working");
  ad_high = Wire.receive();           
  ad_low = Wire.receive();
  Result = (ad_high * 256) + ad_low;

  Serial.println(Result);

  delay(10);

}

好像卡在了一会儿**

4

1 回答 1

0

假设您不需要了解非常低级别的东西,您可能会更幸运地使用 BMP085 / BMP180 库之一。如果你这样做,你总是可以破解该代码。

例如https://github.com/adafruit/Adafruit_BMP085_Unified - 我已经将它与该传感器一起使用,没有任何问题。

于 2015-08-27T07:01:02.460 回答