備忘録

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

RaspberryPi I2C通信

Raspberry PiでI2Cできるようにします。
まずはドキュメント読み
ここにあるのは下の記述のインチキ翻訳でしかないです
http://projects.drogon.net/raspberry-pi/wiringpi/i2c-library/

I2C Library


wirinPiはRaspberry PiのオンボードI2C通信をより簡単に使うライブラリを含んでいます
すべてのシステムがI2C開発ライブラリとヘッダーピンを持っているわけではありません
wiringPiをビルドするとき、ビルド時は検出していない。
もしそれらのヘルプ関数やリンクエラーを使う場合、wiringPiI2Cヘルプファンクションがインストールされていないことを意味する
I2C開発ライブラリをインストール、リビルドする必要がある

Under Raspbian
sudo apt-get install libi2c-dev
その後、wiringPiをリビルドします

I2Cを使えるようになる以前、カーネルモジュールをロードする必要がある。
そして、gpioユーディリティを使うために、カーネルにI2Cドライバをロードする必要があります

gpio load i2c

もし規定値100Kbps以外のバンドレートを必要とするとき、
コマンドラインから以下を打ってください

gpio load spi 1000

バンドレート1000Kbpsを設定する場合は
L2Cライブラリを使うために、プログラムに下をいれます

#include <wiringPiI2C.h>

プログラムは、いつものように-lwiringPiをリンクする必要があります
I2Cデバイスを確認するために、通常のシステムコマンドを使います

Raspberry pi Rev1ではdeviece 0、Rev2ではdevice1 でることを覚えています

i2cdetect -y 0 # rev1
i2cdetect -y 1 # rev2

Funstions available

・int wiringPiI2CSetup(int devld);
引数で与えられた識別子の、I2Cシステムを初期化します
引数のdevIDはI2Cのデバイスナンバーで、i2cdetectから確認できます
なぞ文
//Raspberry Piで、wiringPiL2CSetup()は、/devに適して持ったり開いたり

戻り値は、標準的なLinuxファイルハンドルです。-1や他の値の場合は、
いつも通りerrnoで調べることが可能です

MCP23017GPIOエクスパンダは、通常デバイス0x20です。
だから、この値が戻ってくればOKです

戻り値が負の場合はエラーが起きています。errnoみて調査してね

・int wiringPiI2CRead(int fd);
単純なデバイス読み込みです。いくるかのデバイスは、レジスタ変換をしなくても、
送られてくるデータを読めます

・int wiringPiI2CWrite(int fd,int data);
単純なデバイス書込みです。いくつかのデバイスでは、内部レジスタにアクセスする必要なくデータを受けられます

・int wiringPiL2CWriteReg8(int fd,int reg);
・int wiringPiI2CWriteReg16(int fd,int reg ,int data);
デバイスのレジスタに、8/16bitの値を書き込みます

・int wiringPiI2CReadReg8(int fd,int reg);
・int wiringPiI2CReadReg16(int fd,int reg);
デバイスのレジスタから、8/16bitの値を読み取ります

続きは、下になります。
http://nanicananica.blog.fc2.com/blog-entry-21.html
スポンサーサイト

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2013/05/07(火) 14:55:30|
  2. Raspberry Pi
  3. | トラックバック:0
  4. | コメント:0
<<ツールなどなど | ホーム | Raspberry PiでWebサーバー(Apache2)>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://nanicananica.blog.fc2.com/tb.php/17-77decd2c
この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。