備忘録

スポンサーサイト

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

Raspberry PiでSPI通信(とりあえず実動作)

SPI通信に関しても続いて、動作確認を行いました

Raspberry PiでSPI通信
http://nanicananica.blog.fc2.com/blog-entry-19.html
の続きです。

1.Raspberry PiのI2C通信を有効にする
 こちらも初期設定では使えないので、使えるようにします。
 $ sudo nano /etc/modules
 
 最後に以下を追加します
 spidev

 また、/etc/modprobe.d/raspi-blacklist.conf を修正します
 $ sudo nano /etc/modprobe.d/raspi-blacklist.conf

 以下のように、コメントアウトします
 #blacklist spi-bcm2708

 リブートします
 $ sudo reboot

 再起動が完了したら、ちゃんと利用できることを確認します
 $ ls -al /dev/spi*
 >crw------T 1 root root 153, 0 Jan 1 1970 /dev/spidev0.0
 >crw------T 1 root root 153, 1 Jan 1 1970 /dev/spidev0.1

2.センサを接続
 センサを取り付けます。I2Cでも利用した3軸ジャイロセンサを利用します。
raspi_SPI.png

 SPIは、おれ自身もよくわからず勉強中です。
 解説は許してください
 センサ自体の動作は、I2Cのときと同じで以下です。
  a.センサの内部レジスタ0x0Fを読み出す → 0xD4を確認
  b.センサの内部レジスタ0x20に、0x0Fを書き込む → センサ稼動開始
  c.センサの内部レジスタ0x28~0x2Dにセンサの読み取った値が入っているためそれを読む

3.なんか動作確認(とりあえず動いていることだけ)
 ↓のコードをとりあえずダウンロードしてます
 http://gist.github.com/chrismeyersfsu/3317805#file-spidev_test-c-L25
 $ gcc spidev_test.c -o spidev_test

 コンパイルした後に、実際に動作させてみます。
 $ sudo ./spidev_test -D /dev/spidev0.0

- - - ↓みたいのが返ってきました - - - - -
spi mode: 0
bits per word: 8
max speed: 500000 Hz (500 KHz)

00 00 A6 5E A9 FC
02 50 21 F0 45 FB
FD C0 48 CF 00 D4
1F 1F 07 60 A2 B6
49 46 0C 3F 10 09
01 03 03 01 07 00
00 00
- - - - - - - - - - - - - - - - - - - - - -
とりあえず0x00とか0xFFで埋まっていなければ良いらしいです・・・
明日は、ちゃんと動いているかを確認します。
スポンサーサイト

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

  1. 2013/05/13(月) 00:27:26|
  2. Raspberry Pi
  3. | トラックバック:0
  4. | コメント:0
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。