Armadilloフォーラム

I2Cユーザ特有デバイスの使用方法について

mitsuya-shin

2018年10月29日 17時35分

以下についてご教授下さい。

現在「alomadillo-840」を使用してI2Cのデバイスを制御しておりが
以下の様に単一マスタに対し複数のスレーブを制御したい場合の制御方法
をご教授ください。

Master ←----→Slave01(adress:0x52)
(/dev/i2c-0) -→Slave02(adress:0x53)
-→Slave03(adress:0x54)

但し、実際にはスレーブデバイスのアドレスは変更し、上記
の接続となりますが途中に書込み(送信)処理でI/Oエラーとなります。

従いまして、LINUXでの基本となる制御方法を教えてください。
ちなみ、
①一つにOPEN(FD)に対しIOCTLでアドレスを変更しながらアクセス
②アドレス毎にOPEN及びIOCTLしアクセス
など行ってみましたが、IOエラーとなり制御できませんでした。

何か特別な制約があるのでしょうか?
サンプルなどのご提供がありましたらありがたいです。

以上、よろしくお願いします。

コメント

中村です。

具体的な説明や解決方法ではないですが。。。

> 以下の様に単一マスタに対し複数のスレーブを制御したい場合の制御方法
> をご教授ください。
...
> 何か特別な制約があるのでしょうか?
> サンプルなどのご提供がありましたらありがたいです。

スレーブが1つの場合は問題なく動作しているけれども、
複数にするとうまくいかない、ということでしょうか?

--
なかむら