如何将 Teensy 4.1 上的 i2C 引脚更改为任意引脚? (31 和 30)

问题描述 投票:0回答:1

在 Teensy 4.1 上,默认的 i2C 引脚为 18 和 19。由于规划不当,我们通过引脚 30 和 31 而不是 PCB 上的引脚 18 和 19(因此它是永久性的)将指南针连接到 Teensy 4.1。使用 Adafruit_BNO055 库时,它无法识别指南针,Wire 扫描仪也无法识别它(这是有道理的,因为指南针不是通过 Wire、Wire1 或 Wire2 连接的)。有没有办法使用任意引脚来实现此目的?

谢谢

Wire1.setSCL(31);
Wire1.setSDA(30);
bno = Adafruit_BNO055(55, 0x28, &Wire1);

/* Initialise the sensor */
if (!bno.begin()) {
  /* There was a problem detecting the BNO055 ... check your connections */
  Serial.print("Oops, no BNO055 detected ... Check your wiring or I2C ADDR!");
  while (1);
}


bno.setExtCrystalUse(true);

上面的代码打印出“哎呀,没有检测到 BNO055 ...检查你的接线或 I2C ADDR!”

如前所述,我尝试使用 Wire 库进行扫描,更改 Wire 库的 SDA SCL 引脚(如上所示),但无济于事。

我希望指南针能够提供读数,而不是不被识别。

c++ arduino arduino-c++ adafruit teensy
1个回答
0
投票

看起来30和31不是I2c引脚。看一下这个引脚图(https://www.pjrc.com/teensy/pinout.html)并将其连接到 I2c 引脚之一((18,19),(17,16),( 24,25))

© www.soinside.com 2019 - 2024. All rights reserved.