ohshimayyyy
2017年1月19日 9時46分
お世話になります。
大島と申します。
標記の件、現在GPIOをI2Cとして使用しております。
・現状
Armadillo-810をマスターとし
マスターとスレーブのデータ長は揃えています。
I2Cのデータ長を32byteや64byteで送受信を試みたのですが
下記のメッセージが出力され、Nakと言われてしまいます。
----------------------------------------
i2c i2c-4: sendbytes: NAK bailout.
----------------------------------------
確認したところ、データ長が20byteまでであれば
正常に送受信できるようです。
下記URLのような内容も確認しました。
・ご質問
デフォルトで、I2Cのデータ長は20byteまでなのでしょうか?
その場合、I2Cのデータ長を変更することは可能でしょうか?
その可否と手法をご教示いただきたいです。
ご対応の程、宜しくお願い致します。
コメント
ohshimayyyy
お世話になります。
大島と申します。
下記の件、ご対応いただき、有難う御座います。
> > I2Cのデータ長を32byteや64byteで送受信を試みたのですが
> >下記のメッセージが出力され、Nakと言われてしまいます。
> > ----------------------------------------
> > i2c i2c-4: sendbytes: NAK bailout.
> > ----------------------------------------
>
> 本メッセージですが、マスターからのデータ送信時に、
> スレーブデバイスからNAKが返ってきた際に出力されるようです。
スレーブデバイスから、NAKを返している旨
スレーブデバイス側のプログラムを再確認してみます。
> > ・ご質問
> >デフォルトで、I2Cのデータ長は20byteまでなのでしょうか?
> >その場合、I2Cのデータ長を変更することは可能でしょうか?
> > その可否と手法をご教示いただきたいです。
>
> ソースを見る限り、Linuxカーネル側にそのような制約は無い様に見受けられます。
> まずはスレーブデバイス側にそのような制約が無いか、
> 確認してみてはいただけないでしょうか?
スレーブデバイス側のデータシートには
送受信のデータ長を制約している記述はなかったのですが
再確認してみます。
また何か情報がありましたら、ご報告します。
有難う御座いました。
at_takashi.sasayama
2017年1月19日 13時47分
笹山です。
> I2Cのデータ長を32byteや64byteで送受信を試みたのですが
> 下記のメッセージが出力され、Nakと言われてしまいます。
> ----------------------------------------
> i2c i2c-4: sendbytes: NAK bailout.
> ----------------------------------------
本メッセージですが、マスターからのデータ送信時に、
スレーブデバイスからNAKが返ってきた際に出力されるようです。
> ・ご質問
> デフォルトで、I2Cのデータ長は20byteまでなのでしょうか?
> その場合、I2Cのデータ長を変更することは可能でしょうか?
> その可否と手法をご教示いただきたいです。
ソースを見る限り、Linuxカーネル側にそのような制約は無い様に見受けられます。
まずはスレーブデバイス側にそのような制約が無いか、
確認してみてはいただけないでしょうか?