2

私は自分のプロジェクトの1つにRaspberryPIを使用しています。

このプロジェクトでは、2つの異なるI2Cインターフェイスを同時に実行する必要があります。GPIO-0とGPIO-1をI2Cとして機能するように設定する方法を知っています(例:ラズベリーでI2Cを有効にする方法のチュートリアルの1つ)。

また、このリンクRPi低レベル周辺機器では、どのGPIOもI2Cとして機能できると書かれています。

他のGPIOをI2Cとしても機能するように構成して、異なるインターフェイスを並行して使用できるようにするにはどうすればよいですか。(プルアップ抵抗を追加する必要があることはわかっていますが、LinuxシェルまたはCでこれを構成する方法がわかりません)。誰かがこれがどのように行われるかを簡単な手順で説明できますか?

ありがとう、エイドリアン。

4

5 に答える 5

2

配線Piの上にi2cビットバンギングバスインターフェースを作りました。任意の 2 つの GPIO ピンからバスを作成できます。これは C++ で書かれていますが、C に簡単に移植できるはずです。とにかく、ほとんどの関数は C です。磨きをかける必要があるかもしれませんが、少なくとも出発点です。

https://github.com/robotrovsky/rpi_i2c_bit_banging

于 2015-06-03T11:30:01.963 に答える
1

ピンにハードウェアで実装された I2C ドライバーがない場合、ビットバンギングの概念を使用してソフトウェア実装を実装できます。

于 2013-02-13T14:51:51.660 に答える
0

すでに述べたように、ビットバンギングを試すことができます。はんだ付けの経験がある場合は、2 番目の I2C バスがカメラ インターフェイスにあるため、pi を「ハードウェア ハック」することができます。

見る

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

なぜ2つのi2cバスが必要なのですか?アドレスが異なる限り、同じi2cバスで複数のデバイスを実行できます。また、ほとんどのコンポーネントでは、2つのパッドをはんだ付けすることでアドレスを変更できます。

于 2013-02-14T03:10:39.430 に答える