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

email@hidden
2011年 10月 28日 (金) 20:42:19 JST


お世話になります。小林です。

回答ありがとうございます。

> 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 メーリングリストの案内