s技研

千葉から発進!!車両型ロボット開発 -> ロボトレース 

ジャイロセンサL3GD20のI2C接続実験④(複数バイト転送)

3軸ジャイロの各軸の値を取得してみる。

複数バイトの読み込み手順は以下のとおり。

L3GD20_read_multiple_bytes


各軸の角速度の値は2バイトであり,以下で示すレジスタに格納されている。
L3GD20_Register_address_map

ふむふむ。
SAD+Rを0x28として6バイト読めばよいわけね。

しかし,手順通りにやってみたがうまくいかない。
ハマった・・・・・。

データシートをよく見てみると。

----------
In order to read multiple bytes, it is necessary to assert the most significant bit of the subaddress field. In other words, SUB(7) must be equal to ‘1’ while SUB(6-0) represents the address of the first register to be read.
----------

そうですか。
複数バイト読むには,最初のレジスタアドレスの最上位ビットを1とするのね。
SAD+Rを0xa8としてみたらうまくいった。

3axis

静止時ですが結果として,以下のようになった。
感度はデフォルトなので,250deg/sです。

X:0xff33   (-205)10
Y:0x0065  (+101)10
Z:0x0063  (+99)10

センサを動かしてみると,各軸ともに妥当な動きをしている。

一連の確認で,I2Cの感触をかつかめた。
SPIと比較して,クロック周波数の上限が400kHzなので,転送速度の面でやや厳しいか。
6バイト読み込みで,約233us。

明日あたりに,本命が届く予定。
スポンサーサイト
  1. 2015/03/30(月) 22:34:03|
  2. マイコン
  3. | トラックバック:0
  4. | コメント:0
<<MPU-9250のI2C接続実験 | ホーム | ジャイロセンサL3GD20のI2C接続実験③(データ転送時間)>>

コメント

コメントの投稿


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

トラックバック

トラックバック URL
http://sgiken.blog.fc2.com/tb.php/61-5b7f4f92
この記事にトラックバックする(FC2ブログユーザー)