我在我的一个项目中使用Raspberry PI。
在这个项目中,我需要两个不同的I2C接口来同时运行。 我知道如何将GPIO-0和GPIO-1设置为I2C(各地都有教程,例如:one of the tutorials how to enable I2C in raspberry)。
此链接RPi Low-level peripherials也表示任何GPIO都可以作为I2C工作。
如何将其他GPIO配置为I2C,这样我就可以并行使用不同的接口。 (我知道我需要添加上拉电阻,但我不知道如何在Linux shell或C中配置它)。 有人可以通过简单的步骤向我解释如何做到这一点吗?
谢谢, 阿德里安。
答案 0 :(得分:2)
我在wiringPi上做了一个i2c位敲击总线接口。您可以使用任何2个GPIO引脚制作总线。它是用C ++编写的,但应该很容易移植到C.大多数函数都是C。也许它需要一些润色,但至少它是一个起点。
答案 1 :(得分:1)
如果引脚没有硬件实现的I2C驱动程序,则可以使用bit-banging的概念实现软件实现。
答案 2 :(得分:0)
如前所述,你可以试试bitbanging。如果您在焊接方面经验丰富,那么当第二个I2C总线位于相机接口上时,您可以“硬件破解”pi。
见
http://www.raspberrypi.org/wp-content/uploads/2012/10/Raspberry-Pi-R2.0-Schematics-Issue2.2_027.pdf
Page 4 S5
答案 3 :(得分:0)
您可以在任何gpio引脚上创建附加的i2c总线
https://www.instructables.com/id/Raspberry-PI-Multiple-I2c-Devices/
答案 4 :(得分:-1)
为什么你想要两个i2c总线? 您可以在同一个i2c总线上运行多个设备,只要它们具有不同的地址即可。大多数组件都可以通过焊接两个焊盘来改变地址。