[Armadillo:07669] Re: i2cdev ドライバの使用方法
g-kihara
email@hidden
2011年 10月 28日 (金) 21:27:26 JST
ioctl(fd, I2C_SLAVE, 0x0C);
については成功しているのでしょうか?
if(ioctl(fd, I2C_SLAVE, 0x0C) < 0){
// エラーメッセージ
}
で確認してみてはどうでしょう?
以上
(2011/10/28 20:42), email@hidden wrote:
> お世話になります。小林です。
>
> 回答ありがとうございます。
>
>> ioctl(fd, I2C_SLAVE,addr )のaddrですが、
>> I2Cスレーブデバイスのアドレスを1ビット右シフトしたもの
>> (=R/Wビットを捨てたアドレス)を指定していますか?
>
> ご指摘いただいたところに誤りがありました。
> 私はアドレス0xC0をR/Wビット分左シフトした0x18を設定していました。
> しかし、以下のようにコードを変更しても変わりはなく、writeでerrnoが
> 121(リモートI/Oエラー)となります。
>
> char buf[3];
>
> buf[0] = 1;
> buf[1] = 0;
> buf[2] = 0;
>
> fd = open("/dev/i2c-2", O_RDWR);
> ioctl(fd, I2C_SLAVE, 0x0C);
> write(fd, (const void *)buf, 3);
>
> また、たまに以下のエラーになることもあります。
>
> mxc_i2c_writebytes: fail.
>
> 他に何か間違えているところはありますでしょうか。
>
> 以上、よろしくお願いいたします。
>
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>
armadillo メーリングリストの案内