[Armadillo:07658] Re: i2cdev ドライバの使用方法

g-kihara email@hidden
2011年 10月 28日 (金) 17:13:18 JST


> と記載されていますが、I2C3でDAC制御を行う場


I2Cの3チャンネルを利用されるんですか?

ならば、

fd = open("/dev/i2c-2", O_RDWR);

ではなく、

fd = open("/dev/i2c-3", O_RDWR);

にしないと。


以上

(2011/10/28 14:53), email@hidden wrote:
> 
> 小林と申します。
> 
> I2Cの使用方法について教えてください。
> 
> 【現象】
> I2C3をi2cdevドライバーを用いて使用するとwriteでリモートI/Oエラー
> となり、SCL,SDA共に信号が出力されない。
> 
> 【構成】
> 品名  :Armadillo-440
> 型番  :A4400-U00Z
> OS    :Linux armadillo440-0 2.6.26-at15
> その他:RTC未搭載
>          I2C3の接続先は、DAC(AD5337)
> 
> 【設定】
> ・I2C コンフィギュレーション
>        I2C                           y (デフォルト)
>        I2C_CHARDEV                   y (デフォルト)
>        I2C_MXC                       y (デフォルト)
>        ARMADILLO400_I2C3_CON11       y (デフォルト)
> 
> ・リアルタイムクロック選択コンフィギュレーション
>        ARMADILLO400_I2C3_CON11_S35390A     n (デフォルトから変更)
> 
> 【詳細】
> Armadillo 実践開発ガイド
> 〜組み込みLinux の導入から製品化まで〜
> 第3 部
> 上記ドキュメントの「2.2.4. i2cdev ドライバー」を参考に
> ソフト(アプリケーション)を実装しています。
> Armadillo440のI2C3(CON11_48,49)にDAC(AD5337)を接続しています。
> アプリケーション上の手順は以下のとおりです。
> 
> (1) デバイスファイルのオープン
> 
>        fd = open("/dev/i2c-2", O_RDWR);
> 
> (2) スレーブデバイスのアドレス設定
> 
>        ioctl(fd, I2C_SLAVE, [DAC(AD5337)のアドレス]);
> 
> (3) I2C スレーブデバイスへのデータ書込
> 
>        write(fd, [3byteデータ], 3);
> 
> 上記手順でソフトを動作させると、(3)のwriteでerrnoが121(リモートI/O
> エラー)となります。
> コンソール上から直接"/dev/i2c-2"を参照しようとcatコマンドを実行しても
> 
> cat: Read error: Remote I/O error
> 
> と出力されます。上記現象からデバイスファイルのアクセスができない
> 状態になっているようです。
> 
> 上記ドキュメントには、
> 
>> i2cdev ドライバーを使用すると、デバイスファイルインターフェースを
>> 経由して、ユーザーランドで動作するアプリケーションプログラムから
>> デバイスの制御をおこなうことができます。Armadillo-400 シリーズでは、
>> 標準のカーネルでi2cdev ドライバーが有効になっているため、特に何も
>> 設定しなくとも使用可能です。
> 
> とあり、
> 
>> I2C スレーブデバイスとのデータ転送をおこなうには、単純にread/write
>> システムコールを実行するだけです。スタート/ストップコンディションの
>> 発行、アドレスバイトの生成と送信、アクノリッジの処理などは、全て
>> ドライバーがおこなってくれるので、アプリケーションプログラム側では
>> それらを意識する必要はありません。
> 
> と記載されていますが、I2C3でDAC制御を行う場合、他に何か必要な手順が
> ありますでしょうか。
> 
> 以上、よろしくお願いいたします。
> 
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
> 



armadillo メーリングリストの案内