2

我将 Raspberry PI 用于我的一个项目。

在这个项目中,我需要两个不同的 I2C 接口同时运行。我知道如何设置 GPIO-0 和 GPIO-1 以作为 I2C 工作(到处都有教程,例如:如何在 raspberry 中启用 I2C 的教程之一)。

同样在此链接RPi Low-level peripherials中,它表示任何 GPIO 都可以作为 I2C 工作。

我如何配置其他 GPIO 也可以作为 I2C 工作,这样我就可以并行使用不同的接口。(我知道我需要添加上拉电阻,但我不知道如何在 Linux shell 或 C 中配置它)。有人可以简单地向我解释这是如何完成的吗?

谢谢,阿德里安。

4

5 回答 5

2

我在wiringPi之上做了一个i2c bit banging bus interface。您可以使用任何 2 个 GPIO 引脚制作总线。它是用 C++ 编写的,但应该很容易移植到 C 中。无论如何,大多数函数都是 C。也许它需要一些润色,但至少这是一个起点。

https://github.com/robotrovsky/rpi_i2c_bit_banging

于 2015-06-03T11:30:01.963 回答
1

如果引脚没有硬件实现的 I2C 驱动程序,则可以使用bit-banging的概念来实现软件实现。

于 2013-02-13T14:51:51.660 回答
0

如前所述,您可以尝试 bitbanging。如果您有焊接经验,则可以“硬件破解” pi,因为第二个 I2C 总线位于相机接口上。

http://www.raspberrypi.org/wp-content/uploads/2012/10/Raspberry-Pi-R2.0-Schematics-Issue2.2_027.pdf

第 4 页 S5

于 2013-02-14T02:28:15.040 回答
-1

为什么要两条 i2c 总线?您可以在同一 i2c 总线上运行多个设备,只要它们具有不同的地址。大多数组件都允许您通过焊接两个焊盘来更改地址。

于 2013-02-14T03:10:39.430 回答
-1

您可以在任何 gpio 引脚上创建额外的 i2c 总线

https://www.instructables.com/id/Raspberry-PI-Multiple-I2c-Devices/

于 2019-04-15T12:37:19.357 回答