Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Linux系ボードでi2cで通信しないならi2cdetectでアドレスを調べなおすのも手

それまで使っていたRasPi用I2CPythonスクリプトを違うデバイスで転用したところ

IOError: [Errno 121] Remote I/O error

などと怒られたのですが、全く検討がつかず。

入れ替えこそしたものの、中の石も周辺回路もほぼ同じなのに一体なぜ……?

あれこれ調べていて、もしやと思いi2cdetectを調べてみると……

$ sudo i2cdetect -y -r 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- 1c -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         

同じ加速度の石を使っていても、まわりの回路が違うのでi2cのアドレスも違うという話でした。

オプションの意味

"-y"

インタラクティブモードを停止
何もつけないとチャンネル走査風の画面がでますが
パースするとき無駄なので消した方が、個人的には好きです。

"-r"

読み取りコマンドがある場合にそれを使う


参考もと

qiita.com