2

我正在尝试在 BananaPI + Armbian 5.65 上使用 BME680 传感器以及在同一 i2c 上使用 TSL 2651,但没有运气。(作为参考,同样的配置也不适用于 RPi)

传感器单独连接时可以工作,但与 TSL 连接时不能,同时 TSL 在 BME 后面连接时工作正常。

已连接::板-> BME680-> TSL2561

我可以到达 TSL,所以 BME 是清醒的并且可以到达,因为 TSL 必须通过 BME。

i2cdetect 看到他们两个,所以在系统上它看起来对我来说没问题

sudo i2cdetect -y 2
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- 39 -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- 77

我将 Bosh 驱动程序与这个 .c https://github.com/twartzek/bme680-raspberry一起使用,它最初用于 RPI,但由于 BananaPi M1 在 i2c/pinouts 等方面完全相同。我认为它应该工作。单独连接 BME 时,此相同代码有效。

但是连接在一起的接口只是返回

**** BME680 start measurements  ****
user_i2c_write: No such device or address

我怀疑这只是意味着它在 i2c-2 (0x77) 上看不到设备,但系统可以。

我已经编辑了 bme680_main.c 所以它使用 BME680_I2C_ADDR_SECONDARY 和 g_i2cFid = open("/dev/i2c-2", O_RDWR);

不确定如何从这里开始,如果无论如何;)任何帮助/提示将不胜感激。

谢谢

4

1 回答 1

0

因此,我尝试将地址从 0x77 更改为 0x76,它按预期工作。不知道为什么,但看起来 SECONDARY 存在问题,系统方面看起来不错,但传感器是不可见的。当传感器物理连接到使用 0x76(SDO 到 GND)并相应地更改代码时,它可以工作。

于 2019-07-07T17:25:44.240 回答