[Armadillo:07674] Re: i2cdev ドライバの使用方法
email@hidden
2011年 10月 31日 (月) 22:04:21 JST
お世話になります。 小林です。
毎回、回答ありがとうございます。
> > writeがリモートI/Oエラーにならずに成功することもあります。
> > こちらのハードの問題の可能性もありますので、ハード側を調べてみます。
> 失敗したり成功したりというのは、ハード側要因の可能性大ですね。
> 図2.14 I2C接続A/Dコンバーター回路図
> のように、
> SCL, SDAラインはちゃんとプルアップされています?
ハード的に33Kでプルアップされていました。
ソフトの設定で気になるところがあります。
(1)現状、「IMX25RM_Rev1.pdf」の「Table 505: Register:
IOMUXC_SW_PAD_CTL_PAD_GPIO_A」
を参考にbootloaderの中で以下を設定しています。
static struct iomux_info gpio_pins[] = {
・
・
・
{ MX25_PIN_GPIO_A, MUX_ALT4, MUX_ALT4, 0x0040, 0x0040 }, //
pin48
{ MX25_PIN_GPIO_B, MUX_ALT4, MUX_ALT4, 0x0040, 0x0040 }, //
pin49
上記は以下(デフォルト)から変更しています。
{ MX25_PIN_GPIO_A, MUX_ALT0, MUX_ALT0, 0x00e0, 0x00e0 },
{ MX25_PIN_GPIO_B, MUX_ALT0, MUX_ALT0, 0x00e0, 0x00e0 },
何か問題ありますでしょうか。
(2)また、以下のコードがありますが、i2c3用を作成する必要がありますでしょう
か。
struct iomux_info i2c1_pins[] = {
{ MX25_PIN_I2C1_CLK, SION(MUX_ALT0), MUX_ALT5, 0x0028, 0x0028 },
{ MX25_PIN_I2C1_DAT, SION(MUX_ALT0), MUX_ALT5, 0x0028, 0x0028 },
{ },
};
以上、よろしくお願いいたします。
>
> (2011/10/31 15:15), email@hidden wrote:
> > お世話になります。 小林です。
> >
> > 回答ありがとうございます。
> >
> > 前回ご指摘いただいた、
> > アドレス0xC0をR/Wビット分シフトの件で状況は進展し、
> > 波形が出るようになりオシロで確認しているところです。
> > writeがリモートI/Oエラーにならずに成功することもあります。
> > こちらのハードの問題の可能性もありますので、ハード側を調べてみます。
> >
> >> if(ioctl(fd, I2C_SLAVE, 0x0C)< 0){
> >> // エラーメッセージ
> >> }
> > エラーは発生しませんでした。
> >
> >> 使用するI2CデバイスのGNDはArmadilloボードのGNDにつながっています?
> > つながっているようです。
> >
> > また、進展あったらメールさせていただきます。
> > よろしくお願いいたします。
armadillo メーリングリストの案内